Etiquetas

Las etiquetas se usan generalmente para indicar un punto importante en la historia de nuestro codigo.
Los tambien llamados tags generalmente se suelen dividir en las etiquetas ligeras y las anotadas.
Las ligeras son similares a una rama que no cambia, es decir, simplemente un puntero en nuestro commit.
Este tipo de etiquetas las creamos con

git tag v1

Las anotadas por otro lado, pueden almacenar un mensaje que explique el motivo de la etiqueta en el commit, o simplemente un mensaje para recordarnos su significado. También tienen su propio checksum, el cual almacena usuario y su correo electrónico del creador del tag. tal y como se ve en la siguiente imagen.

etiquetas-captura
Que tenga su propio checksum tambien nos indica que podemos realizar un git revert hacia un tag, lo cual puede resultarnos muy útil cuando tendriamos que mirar 20 commits hacia atrás.
Las podemos crear usando

git tag -a  v1 -m "VERSION 1"

Existe un pequeño detalle a tener en cuenta, algo muy importante sobre los tags, sea ligero o anotado.
Es cuando subimos nuestro codigo al repositorio remoto, debemos indicar que lo deseamos subir.

git push --tags origin master

Como hemos observado, en la imagen anterior, con git show podemos filtrar por version, pero tambien podemos visualizar nuestros commits mostrando los tags que puedan contener en el log.

git log --decorate

Para finalizar, una cosa que nos ha pasado a muchos, es tener un commit y pensar que deberia tener un tag. Para ello existe el etiquetado tardio, es decir, aplicar una etiqueta nueva a un commit ya existente.
Podemos realizarlo de la siguiente manera.

git tag -a v1 9fcb2

Se aprecia que es exactamente el mismo comando pero con el hash del commit al final del comando.
Para mas información acerca de tags podeis acceder a git-scm en el apartado de etiquetado.