Joaquin Martinez

Depura tus errores y construye la mejor versión de ti, cada línea cuenta.

Versiones y Releases con Git Tags: Un tutorial práctico

27-01-2025
Git y GitHub
Git
Cover Post

Etiquetas en Git: Gestión de Versiones y Puntos Clave en tu Proyecto

En el ciclo de vida del desarrollo de software, las etiquetas o tags de Git son herramientas cruciales para marcar versiones específicas o puntos importantes en tu proyecto. Funcionan como referencias estables a un commit en el historial, permitiendo que tanto tú como tu equipo puedan identificar y volver a un estado concreto del código de manera fácil y rápida.

¿Qué son las etiquetas en Git?

Las etiquetas o tags de Git son referencias a un commit específico y estático en la línea de tiempo de tu repositorio. A diferencia de las ramas (branches), que se mueven a medida que añades nuevos commits, una etiqueta permanece fija. Esto las hace perfectas para marcar momentos importantes, como el lanzamiento de una nueva versión o un hito significativo en el desarrollo de software.

En el contexto del desarrollo de software, donde cada proyecto tiene un ciclo de vida con inicio y fin, es común dividir las aplicaciones en versiones o releases. Aquí es donde el uso de las etiquetas cobra un valor fundamental, ya que te permiten nombrar versiones como quieras (por ejemplo, v1.0.0 o v2.1-beta) y, lo más importante, volver a ellas en cualquier momento.

alt text

Tipos de etiquetas: Ligeras vs. Anotadas

Existen dos tipos principales de tags en Git:

  • Tags Ligeras (Lightweight): Son simples punteros a un commit. No contienen información adicional. Son ideales para uso temporal o para etiquetar un commit de forma rápida, sin necesidad de metadatos extra.

  • Tags Anotadas (Annotated): Son objetos completos en la base de datos de Git. Incluyen el nombre y correo electrónico del creador, la fecha, y un mensaje de etiqueta. Se pueden firmar con GPG para verificar su autenticidad. Las tags anotadas son recomendadas para versiones de software o releases importantes, ya que capturan más contexto y son permanentes.

Creación de etiquetas

Hasta este punto, ya tenemos un extenso historial de commits y modificaciones en nuestro proyecto. Asumiremos que, dentro de esta serie de commits, hay una serie de versiones o hechos importantes en el desarrollo de nuestra aplicación.

alt text

Creación de una etiqueta ligera

Para crear un tag ligero, simplemente usa el comando git tag seguido del nombre de la etiqueta. Esta se asociará al commit en el que te encuentras actualmente.

git tag [nombre_de_la_etiqueta]

alt text

Creación de una etiqueta anotada

El uso de tags anotadas es muy habitual en el desarrollo de software, especialmente para la versión semántica, ya que permiten una mayor información sobre el estado de la versión a la que hacen referencia.

Para crear un tag anotado, usamos las opciones -a y -m.

  • El flag -a (anotada) crea un tag anotado.
  • El flag -m permite asignar un mensaje descriptivo a la etiqueta.
git tag -a [nombre_de_la_etiqueta] -m "Mensaje de la etiqueta"

alt text

alt text

Etiquetar un commit anterior

Para etiquetar un commit que no es el actual, usamos la referencia del hash del commit para asignarle la etiqueta.

git tag -a [nombre_de_la_etiqueta] [hash_del_commit]

Visualización y eliminación de etiquetas

Cuando ejecutas el comando git tag sin argumentos, puedes acceder a la lista de tags creadas hasta el momento. Sin embargo, este comando solo nos muestra una lista de los tags sin dar información adicional.

Para poder acceder a una versión más descriptiva de estas etiquetas, usamos el comando git show, que nos arroja bastante información que nos permitirá tener más contexto del estado actual del tag en el proyecto.

git show [nombre_del_tag]

Si en algún momento queremos eliminar un tag, hacemos uso del siguiente comando.

git tag -d [nombre_del_tag]

alt text

Como es de esperarse, al eliminar este tag, desaparece de nuestro log de commits.

Compartiendo etiquetas en repositorios remotos

Un punto crucial que a menudo se olvida es que los comandos anteriores solo crean etiquetas en tu repositorio local. Para que un tag sea visible para otros desarrolladores y se sincronice con tu repositorio remoto, debes “empujarlo” explícitamente.

Para enviar un tag específico al repositorio remoto:

git push origin [nombre_del_tag]

Para enviar todos tus tags locales mediante un solo comando:

git push origin --tags

Las etiquetas en Git son mucho más que simples marcadores. Son una herramienta indispensable para la gestión de versiones y la documentación de tu historial de proyecto. Al usar tags anotadas y compartirlas de manera correcta, le ofreces a tu equipo una forma robusta de rastrear hitos importantes y de asegurar la integridad del código en cada release.

Post Siguiente

Qué es un sistema operativo: Conceptos clave y clasificaciones

Post Anterior

Cómo manejar conflictos en git: Guía paso a paso con ejemplos prácticos