Especificar versiones en Git con tag

  • Por
Los tag son una manera de etiquetar estados de tu repositorio, que se usa comúnmente para indicar las versiones o releases de un proyecto.

Git tiene la posibilidad de marcar estados importantes en la vida de un repositorio, algo que se suele usar habitualmente para el manejo de las releases de un proyecto. A través del comando "git tag" lo podemos hacer, en una operación que se conoce comúnmente con el nombre de "tagging". Es una operativa que tiene muchas variantes y utilidades, nosotros veremos las más habituales que estamos seguros te agradará conocer.

Este sistema del versionado es importante, porque algunos gestores de paquetes te obligan a usarlo para poder publicar packages en ellos. Así pues, vamos a relatar las bases para trabajar con el sistema de tagging de modo que puedas usarlo en tu día a día en el trabajo con Git.

Numeración de las versiones

Las versiones de los proyectos las define el desarrollador, pero no se deberían crear de manera arbitraria, sino que se recomienda darles un valor semántico. Esto no tiene nada que ver con Git, pero lo indicamos aquí porque es algo que consideramos interesante que sepas cuando empiezas a gestionar tus versiones en proyectos.

Generalmente los cambios se pueden dividir en tres niveles de "importancia": Mayor, menor y pequeño ajuste. Si tu versión de proyecto estaba en la 0.0.1 y haces un cambio que no altera la funcionalidad ni la interfaz de trabajo entonces lo adecuado es versionar tu aplicación como 0.0.2.

Realmente importa poco ahora el tema de la semántica, porque queremos hablar de Git. Sin embargo lo encuentras muy bien explicado en este documento Versionamiento Semántico 2.0.0-rc.2, por lo que, si te interesa el tema, te recomendamos leerlo.

Crear un tag

Se supone que cuando comienzas con un repositorio no tienes ninguna numeración de versión y ningún tag, por lo que empezaremos viendo cómo se crean.

Supongamos que empezamos por el número de versión 0.0.1. Entonces lanzarás el comando:

git tag v0.0.1 -m "Primera versión"

Como ves, es una manera de etiquetar estados del repositorio, en este caso para definir números de versión. Los acompañas con un mensaje, igual que se envían mensajes en el commit.

Nota: Este es el mecanismo que se conoce como "Etiquetas ligeras", existen otros tipos de etiquetado que es posible hacer mediante Git.

Generalmente, después de hacer cambios en tu repositorio y subirlos al sistema (después de hacer el commit), podrás generar otro número de versión etiquetando el estado actual.

git tag v0.0.2 -m "Segunda versión, cambios menores"

Ver los estados de versión en el repositorio

Después de haber creado tu primer tag, podrás lanzar el comando "git tag", sin más parámetros, que te informará sobre las versiones que has etiquetado hasta el momento.

git tag

Si tienes un repositorio donde has etiquetado ya tres números de versiones, podría arrojar una salida como la que ves en la siguiente imagen.

Otro comando interesante en el tema de versionado es "show" que te permite ver cómo estaba el repositorio en cada estado que has etiquetado anteriormente, es decir, en cada versión.

git show v0.0.2

Recibirás como salida un mensaje parecido a este:

tag v0.0.2
Tagger: Miguel Angel Alvarez <malvarez@desarrolloweb.com>
Date:   Fri Nov 13 16:23:00 2015 -0200

"

commit 8ef366190b73d56e267c5324aa8074db3c3f0ed9
Author: Miguel Angel Alvarez <malvarez@desarrolloweb.com>
Date:   Fri Nov 13 16:21:54 2015 -0200

...

Enviar tags a GitHub

Si quieres que tus tags creados en local se puedan enviar al repositorio en GitHub, puedes lanzar el push con la opción --tag. Esto es una obligatoriedad, porque si no lo colocas, el comando push no va a enviar los nuevos tags creados.

git push origin master --tag

En concreto la opción --tag envía todas las nuevas tag creadas, aunque podrías también enviar una en concreto mediante su especificación.

git push origin v0.0.2

Además, en el caso de GitHub también puedes crear tags en los repositorios directamente desde la interfaz web del servicio. Desde la página principal del repositorio, en el enlace que pone "releases", puedes acceder a la información sobre las versiones etiquetadas en tu proyecto, así como etiquetar nuevas versiones.

Conclusión

Hemos aprendido a etiquetar estados de un proyecto con Git, algo que se realiza comúnmente para informar en el sistema de control de versiones de las releases principales durante la vida de un software. Estamos seguros que con esta información tendrás suficiente para comenzar, pero si te queda alguna duda puedes consultar este artículo de la documentación de Git.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Lucas

14/10/2016
Versionado
Me ha servido, muchas gracias por publicar estas notas!