He clonado un repositorio remoto de Git en mi computadora portátil, luego quería agregar una etiqueta, así que ejecuté
git tag mytag master
Cuando ejecuto git tag
en mi computadora portátil mytag
se muestra la etiqueta . Luego quiero enviar esto al repositorio remoto, así que tengo esta etiqueta en todos mis clientes, así que ejecuto git push
pero recibí el mensaje:
Todo actualizado
Y si voy a mi escritorio y ejecuto git pull
y luego git tag
no se muestran etiquetas.
También intenté hacer un cambio menor en un archivo en el proyecto, luego lo envié al servidor. Después de eso, pude hacer el cambio del servidor a mi computadora de escritorio, pero todavía no hay ninguna 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?
git push origin --tags
sí.Para empujar una sola etiqueta:
Y el siguiente comando debe empujar todas las etiquetas ( no recomendado ):
fuente
git push --tags
ya que puede ser muy difícil deshacerse de las etiquetas malas cuando sus compañeros de trabajo están capacitados para presionar todas las etiquetas, ya que las personas continúan presionando las viejas etiquetas malas que tienen localmente cada vez que quieren para empujar una nueva etiqueta. Debido a esto, solo aconsejaré a alguien que usegit push origin <tag_name>
ahora.git push origin <tag_name> --force
git push
fallaerror: src refspec <tag_name> matches more than one.
, puede presionarla comogit push origin tag <tag_name>
git push origin <tag_name>
es una respuesta mucho mejor para esa pregunta. ;)Para empujar específico, una etiqueta hace lo siguiente
git push origin tag_name
fuente
Para ampliar la respuesta de Trevor , puede insertar una sola etiqueta o todas sus etiquetas a la vez.
Empuje una sola etiqueta
Este es un resumen de la documentación relevante que explica esto (algunas opciones de comando se omiten por brevedad):
Empuje todas sus etiquetas a la vez
Aquí hay un resumen de la documentación relevante (algunas opciones de comando se omiten por brevedad):
fuente
tag
. por ejgit push origin tag funny-tag-1
.git push origin my-tag
(¡Lo acabo de probar!)2.10.2
. Tal vez eso es todo?Las etiquetas no se envían al repositorio remoto mediante el comando git push. Necesitamos enviar explícitamente estas etiquetas al servidor remoto mediante el siguiente comando:
Podemos empujar todas las etiquetas a la vez utilizando el siguiente comando:
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
fuente
Puede insertar todas las etiquetas locales simplemente con un
git push --tags
comando.fuente
Puedes empujar las etiquetas como esta
git push --tags
fuente
estoy usando
git push <remote-name> tag <tag-name>
para asegurarme de que estoy presionando una etiqueta. Lo utilizo como:git push origin tag v1.0.1
. Este patrón se basa en la documentación (man git-push
):fuente