Pregunta ¿Cómo empujar una etiqueta a un repositorio remoto usando Git?


He clonado un repositorio remoto de Git en mi computadora portátil, luego quise agregar una etiqueta, así que corrí

git tag mytag master

Cuando corro git tag en mi computadora portátil la etiqueta mytag se muestra. Luego quiero enviar esto al repositorio remoto, así que tengo esta etiqueta en todos mis clientes, así que corro git push pero recibí el mensaje:

Todo actualizado

Y si voy a mi escritorio y corro git pull y entonces git tag no se muestran etiquetas

También intenté hacer un pequeño cambio en un archivo en el proyecto, luego presionarlo en el servidor. Después de eso, pude sacar el cambio del servidor a mi computadora de escritorio, pero todavía no hay etiqueta cuando se ejecuta git tag en mi computadora de escritorio.

¿Cómo puedo enviar mi etiqueta al repositorio remoto para que todas las computadoras cliente puedan verla?


1543
2018-03-04 15:37


origen


Respuestas:


Para empujar un soltero etiqueta:

git push origin <tag_name>

Y el siguiente comando debería empujar todas etiquetas (no recomendadas):

git push --tags

2458
2018-03-04 15:40



git push --follow-tags

Esta es una opción sensata presentada en Git 1.8.3:

git push --follow-tags

Impulsa las confirmaciones y solo las etiquetas que son ambas:

  • anotado
  • alcanzable (un ancestro) desde los commits push

Esto es sensato porque:

Es por esas razones que --tags debería ser evitado.

Git 2.4 ha añadido el push.followTags opción para activar ese indicador de forma predeterminada con el que puede establecer:

git config --global push.followTags true

695
2017-10-18 09:12



Para empujar específico, una etiqueta hacer siguiente git push origin tag_name


228
2017-10-24 14:43



Para ampliar en La respuesta de Trevor, puede insertar una sola etiqueta o todas sus etiquetas a la vez.

Empujar una sola etiqueta

git push <remote> <tag>

Este es un resumen de la documentación relevante eso explica esto (algunos opciones de comando omitidas por brevedad):

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

<refspec>...

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

los <dst> indica qué ref en el lado remoto se actualiza con este   empujar ... si :<dst> se omite, la misma referencia como <src> estarán   actualizado…

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

Presione todas sus etiquetas a la vez

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

Aquí hay un resumen de la documentación relevante (algunas opciones de comando omitido por brevedad):

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

--tags

Todas las referencias bajo refs/tags son empujados, además de las referencias explícitas   listado en la línea de comando.


74
2018-04-22 10:52



Puedes empujar las etiquetas como esta git push --tags


41
2018-03-04 15:40



Las etiquetas no se envían al repositorio remoto con el comando git push. Necesitamos enviar explícitamente estas etiquetas al servidor remoto utilizando el siguiente comando:

git push origin <tagname>

Podemos empujar todas las etiquetas a la vez usando el siguiente comando:

git push origin --tags

Aquí hay algunos recursos para obtener detalles completos sobre el etiquetado de git:

http://www.cubearticle.com/articles/more/git/git-tag

http://wptheming.com/2011/04/add-remove-github-tags


38
2018-01-10 05:57



Puede empujar sus etiquetas locales simplemente git push --tags mando.

$ git tag                            # see tag lists
$ git push origin <tag-name>         # push a single tag
$ git push --tags                    # push all local tags 

13
2017-11-25 08:15