trucos tag sirve que para operaciones new log comentarios git github git-branch git-svn git-tag

sirve - push new tag git



Agregar nuevo compromiso a la etiqueta Git existente (2)

No puede poner una nueva confirmación en una etiqueta existente sin romper una importante directriz de Git: Nunca (*) modifique las confirmaciones que haya publicado.

Las etiquetas en Git no están destinadas a ser mutables. Una vez que empujes una etiqueta por ahí, déjala en paz.

Sin embargo, puede agregar algunos cambios encima de v1.1 y lanzar algo como v1.1.1 o v1.2 . Una forma de hacerlo sería

# Create a new branch from tag v1.1 git checkout -b newbranch v1.1 # Do some work and commit it # Create a new tag from your work git tag -a -m "Tag version 1.1.1, a bugfix release" v1.1.1

(*) A menos que tenga una razón realmente especial para hacerlo, y solo si comprende completamente las implicaciones, y aun así, no se convierta en un hábito.

He creado una etiqueta Git como v1.1 usando

git tag -a v1.1 -m ''my version 1.1''

y empujé esa etiqueta. Más tarde, hice algunos cambios relacionados con v1.1 . Ahora, cuando presiono nuevos cambios y verifico la etiqueta git describe usando git describe me está mostrando v1.1-g2dcc97 .

¿Cómo puedo agregar mi nueva confirmación a la etiqueta existente?


Si absolutamente necesita "mover" la etiqueta en lugar de crear una nueva, puede hacer esto:

NB : Como dijo , asegúrese de tener una buena razón para no querer crear una nueva etiqueta porque lo mejor es crear una nueva.

1. Revisa la etiqueta (una CABEZA separada)

git checkout tag/v1.1

2. Cree y extraiga una rama de esa etiqueta (es decir, bifurque de la etiqueta)

git checkout -b my-tagged-branch

*** do work and commit changes ***

3. Empuje a la rama remota.

git push -u origin my-tagged-branch

Si es necesario, fusione la rama en otras ramas que necesiten el cambio (en el caso de una corrección de errores, por ejemplo)

4. Mientras esté en my-tagged-branch , elimine la etiqueta

git tag -d v1.1

5. Vuelva a crear la etiqueta: esto "moverá" la etiqueta para que apunte a su última confirmación en esa rama

git tag v1.1

6. Eliminar la etiqueta en el control remoto

git push origin :v1.1

7. Crea la etiqueta en el control remoto.

git push origin v1.1