¿Cómo se envía una etiqueta a un repositorio remoto usando Git?
Agregué una etiqueta a la rama maestra en mi máquina:
git tag mytag master
¿Cómo envío esto al repositorio remoto? Corriendo git push
da el mensaje:
Todo actualizado
Sin embargo, el repositorio remoto no contiene mi etiqueta.
Para enviar una sola etiqueta:
git push origin <tag_name>
Y el siguiente comando debería enviar todas las etiquetas ( no recomendado ):
# not recommended
git push --tags
git push --follow-tags
Esta es una opción sensata introducida en Git 1.8.3:
git push --follow-tags
Impulsa ambas confirmaciones y solo etiquetas que son ambas:
- anotado
- accesible (un antepasado) desde las confirmaciones enviadas
Esto es sensato porque:
- solo debe enviar etiquetas anotadas al control remoto y mantener etiquetas livianas para el desarrollo local para evitar conflictos de etiquetas. Ver también: ¿ Cuál es la diferencia entre una etiqueta con anotaciones y una sin anotaciones?
- no enviará etiquetas anotadas en ramas no relacionadas
Es por esas razones que --tags
se deben evitar.
Git 2.4 ha agregado la push.followTags
opción de activar esa bandera de forma predeterminada, que puedes configurar con:
git config --global push.followTags true
o agregando followTags = true
a la [push]
sección de su ~/.gitconfig
archivo.
Código de estudio visual
Para activar esto en Visual Studio Code, configure la variable "git.followTagsWhenSync": true
según el usuario o el espacio de trabajo. GitHub
Para impulsar algo específico, haga lo siguiente con una etiqueta
git push origin tag_name