Actualización de mayo de 2015
A partir de git 2.4.1 , puedes hacer
git config --global push.followTags true
Si se establece en verdadero, habilite la opción --follow-tags por defecto.
Puede anular esta configuración en el momento de la inserción especificando --no-follow-tags.
Como se señala en este hilo de Matt Rogers respondiendo a Wes Hurd :
--follow-tags solo empuja etiquetas anotadas .
git tag -a -m "I'm an annotation" <tagname>
Eso sería empujado (en lugar de git tag <tagname>una etiqueta ligera, que no sería empujada, como mencioné aquí )
Actualización de abril de 2013
Desde git 1.8.3 (22 de abril de 2013) , ya no tiene que hacer 2 comandos para empujar ramas y luego empujar etiquetas :
La nueva " --follow-tags" opción le dice " git push" que empuje las etiquetas anotadas relevantes cuando empuje las ramas .
Ahora puede intentar, al presionar nuevas confirmaciones:
git push --follow-tags
Sin embargo, eso no empujará todas las etiquetas locales, solo la referenciada por commits que se empujan con el git push.
Git 2.4.1+ (Q2 2015) presentará la opción push.followTags: consulte " ¿Cómo hacer que" git push"incluya etiquetas dentro de una rama? ".
Respuesta original, septiembre de 2010
La opción nuclear sería git push --mirror, que empujará a todas las referencias hacia abajo refs/.
También puede insertar solo una etiqueta con su confirmación de rama actual:
git push origin : v1.0.0
Puede combinar la --tagsopción con una especificación de referencia como:
git push origin --tags :
(ya que --tagssignifica: todas las referencias debajo refs/tagsse insertan , además de las especificaciones especificadas explícitamente en la línea de comando )
También tiene esta entrada " Empujar ramas y etiquetas con una sola invocación " git push "
Zoltán Füzesi acaba de publicar un consejo útil en la lista de correo de Git :
Solía .git/configresolver esto:
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
Con estas líneas agregadas git push origin, cargará todas sus ramas y etiquetas. Si desea cargar solo algunos de ellos, puede enumerarlos.
Todavía no lo he probado, pero parece que podría ser útil hasta que se agregue otra forma de empujar ramas y etiquetas al mismo tiempo al git push.
Por otro lado, no me importa escribir:
$ git push && git push --tags
Tenga cuidado , como se ha comentado por Aseem Kishore
push = +refs/heads/*se obligará-empuja todas sus ramas .
Esto me mordió justo ahora, así que para tu información.
René Scheibe agrega este interesante comentario :
El --follow-tagsparámetro es engañoso ya que solo .git/refs/tagsse consideran las etiquetas debajo .
Si git gcse ejecuta, las etiquetas se mueven de .git/refs/tagsa .git/packed-refs. Después git push --follow-tags ...ya no funciona como se esperaba.
git push && git push --tags?