DEV Community

Cover image for ¿Qué es un tag en git?
Cristian Fernando
Cristian Fernando

Posted on • Edited on

¿Qué es un tag en git?

Índice

  1. ¿Qué es un tag?
  2. ¿Cómo podemos escribir un tag en git?
  3. Listar los tags que tenemos en local
  4. Subir tags a un repositorio remoto
  5. Referencias
  6. Conclusiones

1.¿Qué es un tag?

Un tag es git es un puntero especial que apunta a un commit específico de nuestro repositorio. Este puntero nos sirve para poder versionar de manera ordenada nuestro proyecto.

Se recomienda tener un estándar para el versionamiento de un proyecto, el más típico que te puedes encontrar es el versionado mayor.minor.patch:

img-1

Donde:

  • mayor es una versión importante para el proyecto, un cambio radical en el mismo o el lanzamiento de una característica muy especial.
  • minor es la implementación de un característica no tan importante, cambios menores pero que ameritan un incremento en este versionado.
  • patch son cambios pequeños, por lo general la solución de algún bug del proyecto.

Si bien esta es la manera más común de versionar un proyecto de software pueden existir otras formas de hacer lo mismo. Por ejemplo Android acostumbraba a nombrar a sus versiones con nombres de golosinas.

En resumen un tag es una manera de indicarle a git que un determinado commit es especial y que hasta ese punto tenemos una versión estable de nuestro proyecto.

Un claro ejemplo de esto podemos tenerlo cuando fusionamos una rama importante con nuestro rama main, entonces dicho commit amerita que sea especial para dejar constancia que esa confirmación es especial.

img-2

Ejemplo de fusión de la rama feature a la rama master o main, el commit c4 por ende es un tag con la versión v1.0.1

2.¿Cómo podemos escribir un tag en git?

La manera sugerida para poder crear un tag en git es la siguiente:

git tag -a version commit_tag -m 'descripcion'
Enter fullscreen mode Exit fullscreen mode

Por ejemplo: git tag -a v0.0.1 1c54dd -m "Inicio del proyecto: v0.0.1"

Si nuestro tag es nuestro último commit entonces se puede omitir el hash del commit perse, por ejemplo: git tag -a v0.0.1 -m "Inicio del proyecto: v0.0.1"

3.Listar los tags que tenemos en local

Para listar todos los tag del proyecto hacemos:

git tag
Enter fullscreen mode Exit fullscreen mode

Esto nos regresa una lista con todas las versiones que tenemos como tags en el repositorio:

v0.0.1
v0.0.2
v0.0.3
Enter fullscreen mode Exit fullscreen mode

Si queremos ver mas información de un tag en concreto podemos hacer:

git show version_tag
Enter fullscreen mode Exit fullscreen mode

Por ejemplo: git show v0.0.1 nos regresaría algo similar a esto:

img-3

4.Subir tags a un repositorio remoto

Todo lo que vimos hasta ahora solo sirve para crear y listar tags en nuestro repositorio local.
Para subir tags a nuestro repositorio remoto debemos primero conectar nuestro repositorio local a algún servicio de repositorios remotos en la nube como por ejemplo Github, GitLab o Bitbucket.

Esto escapa un poco al alcance de este blog, pero te dejo un Cheat Sheet de comandos git que te puede ser útil para lograr esto:

Posteriormente tenemos el siguiente comando:

git push --tags
Enter fullscreen mode Exit fullscreen mode

Para este ejemplo podemos ver en el repositorio remoto de Github en la sección de tags, la cantidad de tag del proyecto:

img-4

Y también podemos acceder a cada uno de ellos, esta es una manera de ver nuestro proyecto en diferentes espacios de tiempo y poder descargarlo de una manera sencilla.

img-5

5.Referencias

6.Conclusiones

Implementar tags un nuestro proyecto usando git como herramienta de versionado es muy sencillo, además de proporcionar mayor orden y pulcritud a un proyecto me parece que lo dota de más profesionalismo.

Por otra parte nos proporciona una facilidad para poder acceder al proyecto en un momento específico del tiempo lo cual puede ser muy útil.

Recomiendo ampliamente conocer esta característica que nos ofrece git para poder versionar nuestro proyecto.

end

Top comments (2)

Collapse
 
chema profile image
José María CL

Genial el post!

Collapse
 
duxtech profile image
Cristian Fernando

Gracias a ti por el like y por dejar tu comentario!