Blog / Git / Tags - Etiquetando la historia
La historia de commits esta reflejada en una sucesión de pequeñas anotaciones donde puede ser complicado encontrar puntos claves en el desarrollo, podemos marcarlos añadiendo etiquetas.
La historia de commits esta reflejada en una sucesión de pequeñas anotaciones donde puede ser complicado encontrar puntos claves en el desarrollo, podemos marcarlos añadiendo etiquetas.
Las etiquetas suelen usarse en combinación con semver, y si bien no es necesario, si se recomienda usar nombres significativos, ya que se utilizan como identificadores.
Añadir una etiqueta:
git tag v.0.0.1
Esta etiqueta tomaría como comentario el mensaje del último commit.
Añadir una etiqueta comentada:
git tag v.0.0.1 -m 'primera etiqueta'
Añadir una etiqueta con comentario y descripción:
git tag v.0.0.1 -m 'primera etiqueta' -m 'esto es una descripción para la etiqueta'
Modificar una etiqueta:
git tag v.0.0.1 -m 'mi primera etiqueta' -f
Usaremos el identificador, v.0.0.1, para modificar el mensaje. Para cambiar el identificador tendríamos que eliminar la etiqueta y volver a crearla.
Eliminar una etiqueta (local):
git tag v.0.0.1 -d
git tag v.0.0.1 --delete
Eliminar todas las etiquetas (locales):
git tag -d $(git tag -l)
Listar las etiquetas:
git tag
git tag -l
git tag --list
Se produce una salida como esta:
v.0.0.1
v.0.0.2
v.0.0.3
Listar las etiquetas con sus comentarios:
git tag -n
Se produce una salida como esta:
v.0.0.1 Primera etiqueta
v.0.0.2 Otra etiqueta
v.0.0.3 Fin del ejemplo
Listar las etiquetas con comentarios y descripciónes:
git tag -n3
Las etiquetas de un repositorio constituyen un histórico paralelo al histórico de commits, no forman parte del mismo, sino que están relacionadas con él.
Cuando añadimos una etiqueta se asocia al último commit, sin importar donde estemos, es decir en cualquier momento podemos ir atrás en la historia para añadir una etiqueta.
Las etiquetas se crean localmente y no se envían junto con los commits al repositorio remoto, debemos hacer un push explícito:
git push --tags
Las etiquetas son independientes de las ramas del repositorio. Al crear una etiqueta, existirá en todas las ramas del repositorio independientemente de sí son o no fusionadas.
¿Cómo eliminar todas las etiquetas de repositorio local?
30-11-2019 (actualizado 10-01-2020)