Categorías
- Redes (10)
- Git y GitHub (23)
- Desarrollo de software (21)
- Sistemas operativos (28)
Versiones y Releases con Git Tags: Un tutorial práctico
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.

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.

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]

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"


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]

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.
Agregados recientemente
- Guía para la gestión de permisos en Linux con chmod
- Comprendiendo los permisos de archivos y directorios en Linux
- Aprende a escribir scripts en Linux: De la línea de comandos a la automatización
- El comando Grep: Búsqueda y filtrado de patrones en Linux
- Introducción al manejo de procesos en Linux (foreground, background, kill y más)
- Pipes en Linux: El poder de encadenar comandos
- Comandos esenciales para la administración de usuarios en Linux
