Etiquetas Git

Si alcanzas una etapa importante y deseas recordar siempre la instantánea de un commit, puedes usargit tagpara etiquetarlo.

Las etiquetas de Git (Tag) se utilizan para marcar commits específicos en el repositorio, normalmente para publicar versiones (como v1.0, v2.0).

Por ejemplo, si queremos publicar una versión "1.0" de nuestro proyecto ejemplo, podemos usargit tag -a v1.0el comando para etiquetar el último commit (HEAD) como "v1.0".

-aLa opción significa

«crear una etiqueta anotada», sin usar-ala opción también se puede ejecutar, pero no registra cuándo se creó la etiqueta, quién la creó ni te permite añadir una anotación a la etiqueta. Recomendamos crear siempre etiquetas anotadas.

Formato de sintaxis de las etiquetas:

git tag <tagname>

Por ejemplo:

git tag v1.0

-aLa opción puede añadir una anotación:

$ git tag -a v1.0 

Cuando ejecutas el comando git tag -a, Git abre tu editor para que escribas una anotación de etiqueta, igual que cuando escribes anotaciones para los commits.

Ahora, observa que cuando ejecutamosgit log --decoratepodemos ver nuestras etiquetas:

*   d5e9fc2 (HEAD -> master) Merge branch 'change_site'
|\  
| * 7774248 (change_site) changed the ejemplo.php
* | c68142b 修改代码
|/  
* c1501a2 removed test.txt、add ejemplo.php
* 3e92c19 add test.txt
* 3b58100 第一次版本提交

Si olvidamos etiquetar un commit y lo publicamos, podemos agregarle una etiqueta posteriormente.

Por ejemplo, supongamos que publicamos el commit 85fc7e7 (la última línea del ejemplo anterior), pero olvidamos etiquetarlo en ese momento. Ahora también podemos hacer esto:

$ git tag -a v0.9 85fc7e7
$ git log --oneline --decorate --graph
*   d5e9fc2 (HEAD -> master) Merge branch 'change_site'
|\  
| * 7774248 (change_site) changed the ejemplo.php
* | c68142b 修改代码
|/  
* c1501a2 removed test.txt、add ejemplo.php
* 3e92c19 add test.txt
* 3b58100 (tag: v0.9) 第一次版本提交

Para ver todas las etiquetas, puedes usar el siguiente comando:

$ git tag
v0.9
v1.0

Enviar etiquetas al repositorio remoto

De forma predeterminada, git push no envía las etiquetas; debes enviarlas explícitamente.

git push origin <tagname>

Enviar todas las etiquetas:

git push origin --tags

Eliminar etiquetas ligeras

Eliminación local:

git tag -d <tagname>

Eliminación remota:

git push origin --delete <tagname>

Etiquetas anotadas

Las etiquetas anotadas almacenan el nombre, el correo electrónico y la fecha del creador, y pueden incluir información de la etiqueta. Las etiquetas anotadas son más formales y adecuadas para escenarios que requieren metadatos adicionales.

Sintaxis para crear etiquetas anotadas:

git tag -a <tagname> -m "message"
Por ejemplo:
git tag -a <tagname> -m "example.com标签"

Comando para etiquetas firmadas con PGP:

git tag -s <tagname> -m "example.com标签"

Ver información de la etiqueta:

git show <tagname>

Ejemplo

El siguiente es un ejemplo completo que demuestra cómo crear, ver, enviar y eliminar etiquetas.

Crear etiquetas ligeras y etiquetas anotadas:

git tag v1.0
git tag -a v1.1 -m "example.com标签"

Ver etiquetas e información de etiquetas:

git tag
git show v1.1

Enviar etiquetas al repositorio remoto:

git push origin v1.0
git push origin v1.1
git push origin --tags  # 推送所有标签

Eliminar etiquetas

Eliminación local:

git tag -d v1.0

Eliminación remota:

git push origin --delete v1.0
Otras extensiones