¿Empujar una label a un repository remoto usando Git?

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

git tag mytag master 

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

Todo actualizado

Y si voy a mi escritorio y ejecuto git pull y luego git tag no se muestran tags.

También intenté hacer un pequeño cambio en un file en el proyecto, luego presionarlo en el server. Después de eso, pude sacar el cambio del server a mi computadora de escritorio, pero aún no hay ninguna label al ejecutar la git tag en mi computadora de escritorio.

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

Para empujar una sola label:

 git push origin <tag_name> 

Y el siguiente command debe presionar todas las tags (no recomendado):

 git push --tags 

–follow-tags es una opción sensata introducida en Git 1.8.3:

 git push --follow-tags 

Impulsa las confirmaciones y solo las tags que son ambas:

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

Esto es sensato porque:

  • solo debe insert tags anotadas en el control remoto y mantener tags livianas para el desarrollo local para evitar conflictos de tags. Ver también: ¿Cuál es la diferencia entre una label anotada y no anotada?
  • no empujará tags anotadas en twigs no relacionadas

Es por esas razones que – las --tags deben evitarse.

Git 2.4 ha agregado la opción push.followTags para activar esa bandera de forma pnetworkingeterminada con la que puede establecer:

 git config --global push.followTags true 

Para enviar una label específica, una label debe seguir a git push origin tag_name

Para ampliar la respuesta de Trevor , puede insert una sola label o todas sus tags a la vez.

Empujar una sola label

 git push <remote> <tag> 

Este es un resumen de la documentation relevante que explica esto (algunas opciones de command se omiten por brevedad):

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

El formatting de un parámetro <refspec> es … la fuente ref <src> , seguido de dos puntos : seguido de la reference de destino <dst>

El <dst> indica qué ref en el lado remoto se actualiza con este command … Si :<dst> se omite, se actualizará la misma reference que <src>

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

Presione todas sus tags a la vez

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

Aquí hay un resumen de la documentation relevante (algunas opciones de command se omiten por brevedad):

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

Todos los refs bajo refs/tags son empujados, además de las references especificadas explícitamente en la línea de command.

Puedes empujar las tags como este git push --tags

Las tags no se envían al repository remoto con el command git push. Necesitamos enviar explícitamente estas tags al server remoto utilizando el siguiente command:

 git push origin <tagname> 

Podemos empujar todas las tags a la vez usando el siguiente command:

 git push origin --tags 

Aquí hay algunos resources para get detalles completos sobre el labeldo de git:

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

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

Puede empujar sus tags locales simplemente con el command git push --tags .

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

Si trabajas en una sucursal:

 git push --tags origin branch_name