Atualização de maio de 2015
No git 2.4.1 , você pode fazer
git config --global push.followTags true
Se definido como true, ative a opção --follow-tags por padrão.
Você pode substituir essa configuração no momento do envio, especificando --no-follow-tags.
Conforme observado neste tópico por Matt Rogers, respondendo a Wes Hurd :
--follow-tags empurra apenas tags anotadas .
git tag -a -m "I'm an annotation" <tagname>
Isso seria enviado (ao contrário de git tag <tagname>uma tag leve, que não seria enviada, como eu mencionei aqui )
Atualização de abril de 2013
Desde o git 1.8.3 (22 de abril de 2013) , você não precisa mais executar 2 comandos para enviar ramificações e depois enviar tags :
A nova --follow-tagsopção " " indica " git push" para enviar tags anotadas relevantes ao empurrar ramificações .
Agora você pode tentar, ao enviar novas confirmações:
git push --follow-tags
Porém, isso não enviará todas as tags locais, apenas a referenciada por confirmações que são enviadas com o git push.
O Git 2.4.1+ (Q2 2015) apresentará a opção push.followTags: consulte " Como fazer" git push"incluir tags em uma ramificação? ".
Resposta original, setembro de 2010
A opção nuclear seria git push --mirror, o que empurrará todos os árbitros para baixo refs/.
Você também pode enviar apenas uma tag com seu commit de ramificação atual:
git push origin : v1.0.0
Você pode combinar a --tagsopção com um refspec como:
git push origin --tags :
(uma vez que --tagssignifica: Todas as referências abaixo refs/tagssão enviadas por push , além das referências especificadas explicitamente na linha de comando )
Você também tem esta entrada " Empurrando ramificações e tags com uma única invocação " git push "
Uma dica útil foi postada na lista de discussão do Git por Zoltán Füzesi:
Eu uso .git/configpara resolver isso:
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
Com essas linhas adicionadas, você git push originfará o upload de todos os seus ramos e tags. Se você deseja carregar apenas alguns deles, pode enumerá-los.
Ainda não tentei, mas parece que pode ser útil até que outra maneira de enviar ramos e tags ao mesmo tempo seja adicionada ao git push.
Por outro lado, não me importo de digitar:
$ git push && git push --tags
Cuidado , como comentado por Aseem Kishore
push = +refs/heads/*vai forçar-empurra todos os seus ramos .
Isso me mordeu agora, então, para sua informação.
René Scheibe acrescenta este comentário interessante :
O --follow-tagsparâmetro é enganoso, pois apenas as tags abaixo .git/refs/tagssão consideradas.
Se git gcfor executado, as tags serão movidas de .git/refs/tagspara .git/packed-refs. Depois disso git push --follow-tags ..., não funciona mais como o esperado.
git push && git push --tags?