El comando Git tag en Git
Lección 24 / 53
Git Guía Git Guía Git español
Git permite agregar una etiqueta a un commit específico, de modo que se pueda usar esta etiqueta como referencia para un punto específico en el historial del repository. El uso típico de las etiquetas es marcar un determinado lanzamiento o versión, para poder acceder a ella más tarde con facilidad. De hecho, a diferencia de los branch, una vez que se ha creado una etiqueta, los nuevos commit posteriores no se "agregan" a la etiqueta.
El comando que permite administrar las etiquetas de Git es git tag, veamos algunos usos.
git tag <TAG_NAME>
Asocia al commit actualmente extraído en la working copy el tag con nombre TAG_NAME.
Al no haber especificado ninguna opción, Git creará un tag lightweight, es decir, una etiqueta sin metadatos particulares agregados (por ejemplo, quién creó la etiqueta). Los tag lightweight son esencialmente "marcadores" para commit individuales, es una buena práctica no usarlas para marcar lanzamientos públicos, sino solo usarlas localmente para marcar commit particulares que se consideren importantes en el desarrollo.
git tag -a <TAG_NAME>
Crea un tag annotated, es decir, además del nombre proporcionado para el tag Git guardará en el repository metadatos adicionales como nombre y correo de quien ha creado el tag, fecha...
En el momento en el que se crea un tag annotated, como para los commit, se solicita un mensaje, que se puede proporcionar directamente con el comando a través de la opción -m "mensaje del tag"
$ git tag
1.0.0
1.0.1
1.0.2
1.0.3
1.0.4
1.1.1-alpha
...
$ git tag -l "*beta*"
v1.1.1-beta
v1.1.1-beta2
v1.1.1-beta3
Cuando se ejecuta sin opciones, el comando git tag muestra las etiquetas que se encuentran actualmente en el repository. Se puede filtrar solo etiquetas que contengan una determinada expresión utilizando la opción -l y una expresión con wildcard.
$ git tag -a v1.2.0 0d52aaab4479697da7686c15f77a3d64d9165190
Añadiendo el id de un commit al comando usado para crear un tag, el tag se aplicará al commit indicado en vez de al actual.
$ git tag -d <TAG_NAME>
La opción -d permite eliminar un específico tag existente.
$ git tag
v1
v1.0.0
$ git add package.json
$ git commit -m "release version 1.1.0"
$ git tag v1.1.0 -m "tagging version 1.1.0"
$ git tag -f v1 -m "moving tag v1 to latest release"
Obviamente, es posible tener múltiples etiquetas para cada commit, así como, si es necesario, "mover" una etiqueta existente de un commit a otro. De hecho, en los comandos que se muestran en el ejemplo anterior, asumimos que hay un commit que se ha etiquetado previamente con las etiquetas v1.0.0 (la versión exacta) y una v1 genérica (es decir, una etiqueta que indica la última versión de la versión "1 " del proyecto). Cuando lanzamos la versión 1.1.0, podemos crear una nueva etiqueta en el nuevo commit para la versión específica v1.1.0 y forzar la actualización de la etiqueta v1 existente para que también apunte al último commit recién creado. Ten en cuenta que estas convenciones son de proyecto y no de Git.
Una nota final: como cualquier otra referencia de commit en el historial, Git te permite usar un nombre de etiqueta en muchos otros comandos, por ejemplo:
- git checkout v1.3.0 - ejecuta el checkout del commit etiquetado como v1.3.0
- git diff v1.1.1-beta..v1.1.1-beta2 muestra el diff entre dos etiquetas existentes
Anterior
23 El comando Git log e..Siguiente
25 El comando Git blame..