Actualmente estoy trabajando con un repositorio que tiene múltiples ramas.
Cuando creo una etiqueta, ¿se refiere esa etiqueta a la rama actual?
En otras palabras: cada vez que creo una etiqueta, ¿necesito cambiar a la rama deseada y etiquetar dentro de esa rama para que la etiqueta se refiera a esa rama en ese momento?
Las etiquetas y la bifurcación no tienen ninguna relación, ya que las etiquetas se refieren a una confirmación específica, y la bifurcación es una referencia móvil a la última confirmación de un historial. Las ramas se van, las etiquetas se quedan.
Entonces, cuando etiqueta una confirmación, a git no le importa qué confirmación o rama está desprotegida, si le proporciona el SHA1 de lo que desea etiquetar.
Incluso puedo etiquetar haciendo referencia a una rama (luego etiquetará la punta de la rama), y luego decir que la punta de la rama está en otro lugar (con,
git reset --hard
por ejemplo), o eliminar la rama. Sin embargo, la etiqueta que creé no se moverá.fuente
Cuando llame
git tag <TAGNAME>
sin ningún parámetro adicional, Git creará una nueva etiqueta desde su HEAD actual (es decir, la HEAD de su rama actual). Al agregar confirmaciones adicionales en esta rama, la HEAD de la rama se mantendrá al día con esas nuevas confirmaciones, mientras que la etiqueta siempre se refiere a la misma confirmación.Al llamar
git tag <TAGNAME> <COMMIT>
, incluso puede especificar qué compromiso usar para crear la etiqueta.En cualquier caso, una etiqueta sigue siendo simplemente un "puntero" a una determinada confirmación (no una rama).
fuente
Podemos crear una etiqueta para alguna confirmación anterior:
p.ej:
fuente
Si desea etiquetar la rama en la que se encuentra, escriba:
y empuje la rama con:
fuente
Si desea crear una etiqueta desde una rama que sea algo así como
release/yourbranch
etc., entonces debe usar algo comoDespués de crear la etiqueta adecuada si desea empujar la etiqueta al control remoto, use el comando
fuente