Nosso projeto mudou recentemente do Sourceforge para o GitHub. A migração não incluiu as tags do Subversion. Eu tenho muito pouca habilidade com Git, então usei2.6 Noções básicas do Git - Marcaçãoé um guia.
Realizei uma verificação do Git:
$ git clone https://github.com/weidai11/cryptopp.git cryptopp-git
Em seguida, analisei e reproduzi as tags dos últimos 15 anos ou mais usando:
# 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
...
Em seguida, tentei cometê-los:
$ 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
Então fui para outra máquina para verificar o trabalho. Eu executei um git pull
(Debian 8 Chroot em uma máquina distinta):
# 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>...]'
O melhor que posso dizer é que as informações não foram registradas no GitHub.
Como exatamente faço o check-in das tags no GitHub?
Responder1
Você tem que usar a --tags
opção de git push
. Isso enviará suas tags para o controle remoto.
git push --tags
Observe que este não é um recurso do GitHub, mas git
um comportamento normal. Dê uma olhada tambéma página de manual do git push.