git tag

Ramas y fusiones

Crea, lista y elimina tags


El comando 'git tag' da un nombre fijo a un commit, normalmente una versión como v1.0. A diferencia de una rama, un tag nunca se mueve. Un tag ligero es solo un nombre; un tag anotado (-a) es un objeto completo con quien lo creó, una fecha y un mensaje, y es el tipo recomendado para versiones. Los tags no se suben automáticamente: súbelos con git push origin <tag>.

Sinopsis

git tag [-a | -s] [-f] [-m <msg>] <tagname> [<commit>]
git tag -d <tagname>...
git tag [-n[<num>]] -l [<pattern>...]
[ ] opcional| o<arg> valor a sustituir... repetible--flag opción

Opciones

Haz clic en una opción para desplegarla

Principiante (3)

Crea un objeto tag anotado con autor, fecha y mensaje.

RecomendadoUna versión debe registrar quién la etiquetó, cuándo y por qué

Ejemplo

git tag -a v1.0 -m "First release"

Lista los tags, opcionalmente solo los que coinciden con un patrón.

RecomendadoFiltrar una lista larga de tags con un patrón

Ejemplo

git tag -l "v1.*"

Elimina los tags locales indicados.

Cuando haga faltaCorregir un tag local erróneo; evita borrar tags que usan otros

Ejemplo

git tag -d v1.0

Intermedio (1)

Reemplaza un tag existente, moviéndolo a otro commit.

No recomendadoMover un tag publicado confunde a todos los que lo descargaron

Ejemplo

git tag -f v1.0

Elegir la opción adecuada

Ligero frente a anotado

Dos tipos de tags

ComandoGuardaUso
git tag v1.0Solo el nombreMarcadores privados
git tag -a v1.0 -m "..."Autor, fecha, mensajeVersiones publicadas

Tag frente a rama

Ambos nombran un commit

Comando¿Avanza con cada commit?¿Lo sube git push?
BranchSíSí (la rama actual)
TagNuncaNo, súbelo explícitamente

Ejemplos

Etiquetar el commit actual

git tag v1.0

Un tag ligero llamado v1.0.


Tag anotado

git tag -a v1.0 -m "First release"

Un tag con autor, fecha y mensaje.


Subir un tag

git push origin v1.0

Comparte el tag en el remoto.


Listar etiquetas

git tag -l "v1.*"

Lista los tags que coinciden con un patrón.

Ejemplos de flujos de trabajo

1
git switch main && git pull

Estar en el main más reciente

2
git tag -a v1.0 -m "First release"

Crear el tag de la versión

3
git push origin v1.0

Compartirlo

Solución de problemas

fatal: tag 'v1.0' already exists

Causa: El nombre ya está usado

Elige otro nombre, o elimínalo primero (git tag -d v1.0)

Mi tag no está en GitHub

Causa: git push no envía los tags

git push origin v1.0, o git push --tags

Un tag eliminado vuelve tras un fetch

Causa: Sigue existiendo en el remoto

Elimínalo también allí: git push origin --delete v1.0

Consejos y trampas

Buenas prácticas

  • ✓Usa tags anotados para las versiones.
  • ✓Sigue el versionado semántico (v1.2.3).
  • ✓Nunca muevas ni reutilices un tag una vez publicado.

Errores comunes

  • ✗Esperar que git push envíe los tags — súbelos explícitamente o usa --follow-tags.
  • ✗Usar tags ligeros para versiones: no guardan autor, fecha ni mensaje.
  • ✗Mover un tag que otros ya descargaron.

Preguntas frecuentes

A:

git switch --detach v1.0, o crea una rama a partir de él: git switch -c hotfix v1.0.

A:

git push --tags (o git push --follow-tags para los tags anotados de los commits enviados).

A:

Nombra un commit a partir del tag más cercano, p. ej. v1.0-3-g1a2b3c4.