Curso git nivel medio
Las etiquetas (tags) en Git son referencias que apuntan a commits específicos. Se utilizan principalmente para marcar puntos importantes en el historial del proyecto, como versiones de lanzamiento o hitos clave. Las etiquetas permiten señalar una versión específica del proyecto, facilitando la organización y el rastreo de versiones.
¿Qué son las etiquetas en Git?
Una etiqueta es una forma de marcar un commit importante. A diferencia de las ramas, las etiquetas son inmutables, lo que significa que, una vez creadas, no cambian ni avanzan. Por lo general, se utilizan para marcar versiones de software, liberaciones, o momentos clave en el desarrollo.
¿Por qué usar etiquetas?
- Las etiquetas te permiten marcar y recordar versiones específicas del código, como
v1.0.0,v2.1.3, etc. - Son útiles para identificar puntos importantes en el historial del proyecto sin preocuparse de que se muevan como lo hacen las ramas.
- Los desarrolladores pueden referirse a un commit específico etiquetado cuando desean consultar una versión anterior o hacer un despliegue.
Crear y listar etiquetas
Crear etiquetas
Git permite crear dos tipos de etiquetas: etiquetas ligeras y etiquetas anotadas. Las etiquetas ligeras son simplemente referencias a un commit, mientras que las etiquetas anotadas incluyen metadatos adicionales como un mensaje, la fecha y el autor.
Crear una etiqueta ligera
Una etiqueta ligera es como un marcador que señala un commit específico, pero no tiene más información asociada.
-
Uso:
1git tag nombre-de-la-etiqueta -
Ejemplo:
1git tag v1.0.0Este comando crea una etiqueta
v1.0.0en el último commit actual. No tiene metadatos adicionales.
Crear una etiqueta anotada
Las etiquetas anotadas contienen información adicional, como el nombre del autor, la fecha y un mensaje descriptivo. Son más recomendadas cuando se necesita un historial detallado de versiones o lanzamientos.
-
Uso:
1git tag -a nombre-de-la-etiqueta -m "Mensaje descriptivo" -
Ejemplo:
1git tag -a v1.0.0 -m "Lanzamiento de la versión 1.0.0"Esto crea una etiqueta anotada
v1.0.0con un mensaje que describe los cambios o características principales de esta versión.
Listar etiquetas
Puedes ver todas las etiquetas que existen en el repositorio con el siguiente comando:
-
Uso:
1git tagEsto listará todas las etiquetas de tu repositorio en orden alfabético.
-
Filtrar etiquetas: Si quieres listar etiquetas que sigan un patrón específico (por ejemplo, las etiquetas de una serie de versiones
v1.x), puedes usar:1git tag -l "v1.*"Esto listará todas las etiquetas que comiencen con
v1..
Ver detalles de una etiqueta
Si deseas ver más información sobre una etiqueta anotada (como el autor, fecha, y mensaje), puedes usar:
-
Uso:
1git show nombre-de-la-etiqueta -
Ejemplo:
1git show v1.0.0Esto mostrará detalles completos del commit etiquetado y los metadatos asociados a la etiqueta.
Uso de etiquetas para versiones de software
Uno de los usos más comunes de las etiquetas en Git es para marcar versiones de software. Cada vez que se lanza una nueva versión, es una buena práctica crear una etiqueta que señale el commit exacto de la versión liberada. Esto facilita el mantenimiento de software, ya que puedes volver a una versión específica fácilmente.
Ejemplo de flujo de trabajo de versiones:
-
Supón que has realizado cambios y el software está listo para la versión
v2.0.0. -
Asegúrate de que todos los cambios estén confirmados (
commit). -
Crea una etiqueta anotada que marque la versión
v2.0.0:1git tag -a v2.0.0 -m "Lanzamiento de la versión 2.0.0" -
Si estás trabajando con un repositorio remoto (por ejemplo, en GitHub o GitLab), deberás empujar la etiqueta al servidor remoto:
1git push origin v2.0.0 -
Ahora, esta etiqueta
v2.0.0marca el commit exacto en el que fue lanzada esa versión del software, lo que facilita la revisión o despliegue de versiones antiguas en el futuro.
Listar versiones anteriores
Si en algún momento necesitas ver las versiones anteriores etiquetadas, simplemente puedes usar:
1git tag
Para volver a una versión etiquetada específica (por ejemplo, para realizar una revisión), puedes hacer un checkout de esa etiqueta:
1git checkout v2.0.0
Esto te permitirá revisar el código tal como estaba en el momento del lanzamiento de esa versión, aunque estarás en un "estado de separación" o "detached HEAD" (no en una rama activa).
Diferencias entre etiquetas ligeras y anotadas
Etiquetas ligeras:
-
Son esencialmente punteros a un commit específico.
-
No contienen metadatos adicionales (no hay mensaje, autor ni fecha más allá del commit en sí).
-
Son rápidas de crear y adecuadas para etiquetar commits temporales o informales.
-
Ejemplo de creación:
1git tag v1.0.0
Etiquetas anotadas:
-
Son las etiquetas recomendadas para versiones de software o lanzamientos importantes.
-
Contienen información adicional como el autor de la etiqueta, la fecha y un mensaje descriptivo.
-
Se guardan en el historial del proyecto, lo que las hace más robustas para la gestión de versiones.
-
Ejemplo de creación:
1git tag -a v1.0.0 -m "Lanzamiento oficial de la versión 1.0.0"
Diferencias clave:
| Característica | Etiqueta ligera | Etiqueta anotada |
|---|---|---|
| Metadatos | Solo apunta al commit | Incluye mensaje, autor, fecha |
| Uso recomendado | Marcadores temporales | Lanzamientos de software y versiones |
| Comando de creación | git tag nombre | git tag -a nombre -m "mensaje" |
| Historial | No aparece en el historial de git show | Aparece en el historial con detalles |
Resumen
Las etiquetas en Git son una forma poderosa de marcar puntos importantes en el historial de un proyecto. Son especialmente útiles para gestionar versiones de software y lanzamientos, proporcionando una manera clara de referirse a commits específicos. Las etiquetas ligeras son rápidas y simples, mientras que las anotadas ofrecen más contexto y son ideales para versiones oficiales. Al incorporar etiquetas en tu flujo de trabajo, puedes gestionar de manera más efectiva las versiones de tu software y hacer un seguimiento claro de los hitos del proyecto.
- Loading...
Tu proyecto está avanzando y has terminado la versión 2.1.0. Añade una etiqueta a tu proyecto con el nombre v2.1.0 y un mensaje "Version 2.1.0 terminada!"
Loading...