2281 votos

¿Empuje una etiqueta para un repositorio remoto usando Git?

Me han clonado un repositorio Git remoto a mi ordenador portátil, entonces yo quería añadir una etiqueta así que me fui corriendo

git tag mytag master

Cuando ejecuto git tag en mi laptop la etiqueta mytag se muestra. Luego quiero llevar este al repositorio remoto, así que tengo esta etiqueta en todos mis clientes, así que me quede git push pero recibí este mensaje:

Todo lo de arriba-a-fecha

Y si voy a mi escritorio y ejecutar git pull y, a continuación, git tag no las etiquetas se muestran.

También he probado a hacer un pequeño cambio en un archivo en el proyecto, a continuación, empuje hacia el servidor. Después de que yo podría tirar el cambio desde el servidor a mi computadora de Escritorio, pero todavía no hay ninguna etiqueta cuando se ejecuta git tag en mi equipo de escritorio.

¿Cómo puedo empujar mi etiqueta para el repositorio remoto, de manera que todos los equipos cliente puede ver?

3696voto

Trevor Puntos 5062

El siguiente comando debe empujar Etiquetas:

git push --tags

o si usted está mirando para empujar una sola etiqueta:

git push origin <tag_name>

1175voto

Ciro Santilli Puntos 3341

Es una opción sana introducida en Git 1.8.3:

git push --follow-tags

que empuja commits y sólo etiquetas que son:

  • anotada
  • accesible desde el empujado se compromete

Esto es buen comportamiento debido que sólo debe pulsar etiquetas anotadas al remoto y guardar etiquetas ligero para el desarrollo local evitar enfrentamientos de etiqueta. Por esta razón --tags debe evitarse.

270voto

solgar Puntos 1467

Para empujar específico, una etiqueta siguiendogit push origin tag_name

101voto

Cupcake Puntos 22154

Para ampliar Trevor respuesta, se puede empujar una sola etiqueta o la totalidad de su etiquetas a la vez.

Empuje de una Sola Etiqueta

git push <remote> <tag>

Este es un resumen de la documentación relevante que explica esto (algunos opciones de comando se omite por razones de brevedad):

git push [[<repository> [<refspec>…]]

<refspec>...

El formato de un <refspec> parámetro es...la fuente ref <src>, seguido por un signo de dos puntos :, seguido por el destino ref <dst>...

La <dst> dice que ref en el lado remoto se actualiza con esta empujar...Si :<dst> se omite, la misma ref como <src> será actualizado...

etiqueta <tag> significa lo mismo que refs/tags/<tag>:refs/tags/<tag>.

Poner Todas Sus Etiquetas a la Vez

git push --tags <remote>
# Or
git push <remote> --tags

Aquí está un resumen de la documentación pertinente (algunas de las opciones de comandos omitido por razones de brevedad):

git push [--all | --mirror | --tags] [<repository> [<refspec>…]]

--tags

Todos los árbitros en virtud refs/tags son empujadas, además de refspecs explícitamente aparece en la línea de comandos.

48voto

Usted puede empujar las etiquetas asígit push --tags

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X