Unser Projekt wurde vor Kurzem von Sourceforge zu GitHub verschoben. Die Migration umfasste nicht die Subversion-Tags. Ich habe nur sehr geringe Git-Kenntnisse, also habe ich2.6 Git-Grundlagen - Taggingals Leitfaden.
Ich habe einen Git-Checkout durchgeführt:
$ git clone https://github.com/weidai11/cryptopp.git cryptopp-git
Anschließend habe ich die Tags der letzten 15 Jahre durchgesehen und reproduziert, und zwar mit:
# Produce a log file
$ git log --all --oneline > git.log
# Look for the subversion commit (yes; it was a CVS migration 15 or so years ago):
$ awk 'NR==(872-3)' git.log
bf7ae38 This commit was manufactured by cvs2svn to create tag 'CRYPTOPP_5_0'.
# Tag it:
$ git tag -a CRYPTOPP_5_0 bf7ae38
[Add message in emacs]
# Lather, rinse, repeat
...
Als nächstes habe ich versucht, sie festzuschreiben:
$ git commit -m "Rebuild tags after GitHub import"
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
$ git push
Everything up-to-date
Also ging ich zu einem anderen Rechner, um die Arbeit zu überprüfen. Ich führte ein git pull
(Debian 8 Chroot auf einem anderen Rechner) aus:
# git pull
Already up-to-date.
# git show CRYPTOPP_5_0
fatal: ambiguous argument 'CRYPTOPP_5_0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Soweit ich weiß, wurden die Informationen nicht bei GitHub eingecheckt.
Wie genau checke ich die Tags bei GitHub ein?
Antwort1
Sie müssen die --tags
Option verwenden git push
. Dadurch werden Ihre Tags an die Fernbedienung gesendet.
git push --tags
Beachten Sie, dass dies kein Feature von GitHub ist, sondern normales git
Verhalten. Sehen Sie sich auch an:die Manpage von git push.