Como registrar tags anotadas?

1

Nosso projeto mudou recentemente do Sourceforge para o GitHub. A migração não incluiu as tags de subversão. Eu tenho muito pouca habilidade com o Git, então usei 2.6 Git Basics - Tagging como um guia .

Eu fiz um checkout do Git:

$ git clone https://github.com/weidai11/cryptopp.git cryptopp-git

Eu então passei e reproduzi as tags nos ú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 enviá-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 eu 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 a informação não foi registrada no GitHub.

Como, exatamente, eu faço o check-in das tags para o GitHub?

    
por jww 05.11.2015 / 13:52

1 resposta

1

Você precisa usar a opção --tags de git push . Isso empurrará suas tags para o controle remoto.

git push --tags

Observe que isso não é um recurso do GitHub, mas um comportamento normal de git . Também dê uma olhada em a página do manual do git push .

    
por 05.11.2015 / 14:04