Etiquetas

Los sistemas de control de versiones ofrecen etiquetas para marcar commits significativos a los que podamos referirnos más tarde. En este vídeo te cuento cómo crear etiquetas en Git.

Las etiquetas o tags en Git son una herramienta fundamental para identificar commits importantes dentro de un proyecto. Nos permiten asignar un alias a un commit específico, facilitando su referencia posterior sin tener que depender del hash completo o de términos genéricos como HEAD. Esto resulta especialmente útil cuando queremos marcar versiones concretas del software, como la versión 1.0, 1.1 o cualquier otra que consideremos relevante.

Imaginemos que tenemos un commit que representa la versión 0.2.0 de nuestro proyecto y queremos poder volver a él fácilmente en el futuro. Para ello, simplemente ejecutamos el comando git tag seguido del nombre que deseamos darle a la etiqueta. Por ejemplo:

git tag v0.2.0

Con esto, hemos creado un alias para el commit actual, que podemos usar para referirnos a ese punto exacto del desarrollo en cualquier momento. Si queremos etiquetar un commit anterior, no hace falta estar en ese commit; podemos indicar el hash correspondiente para crear el tag en ese punto específico. Por ejemplo:

git tag v0.1.0 433f33d

Así, el commit con hash 433f33d queda marcado con la etiqueta v0.1.0. Esto es muy útil cuando estamos haciendo mantenimiento y queremos dejar constancia de versiones anteriores sin necesidad de movernos a esos commits.

Los tags que hemos visto hasta ahora son los llamados ligeros o lightweight. Son simplemente punteros que apuntan a un commit, sin más información adicional. Sin embargo, Git también permite crear tags anotados, que son objetos completos dentro del repositorio y pueden incluir descripciones, autoría e incluso firmas digitales. Pero eso lo veremos más adelante.

Una de las ventajas más prácticas de los tags es que podemos hacer checkout directamente a ellos, lo que nos permite situarnos en el estado exacto del proyecto en ese momento. Por ejemplo, si queremos revisar el código de la versión v0.1.0, podemos hacer:

git checkout v0.1.0

Esto nos coloca en un estado de detached HEAD, es decir, estamos en un commit específico sin estar en ninguna rama. Desde ahí, si queremos, podemos crear una nueva rama para hacer modificaciones o correcciones basadas en esa versión:

git checkout -b fix-0.1.1

Para ver todas las etiquetas que tenemos en nuestro repositorio, basta con ejecutar:

git tag

Esto nos mostrará una lista con todos los tags creados, facilitando la gestión y referencia de versiones.

Si en algún momento consideramos que un tag ya no es necesario o fue creado por error, podemos eliminarlo con el siguiente comando:

git tag -d v0.1.1

Esto borra la etiqueta localmente, ayudándonos a mantener el repositorio limpio y organizado.

En comparación con otros sistemas de control de versiones, como SVN, donde crear una etiqueta implica hacer una copia completa de la carpeta, en Git los tags son mucho más ligeros y eficientes, ya que solo son punteros a commits específicos. Esto hace que trabajar con versiones sea más sencillo y menos costoso en términos de espacio y gestión.

Además, plataformas como GitHub utilizan los tags para identificar versiones oficiales de un proyecto, facilitando la descarga y distribución de releases. Por eso, incorporar el uso de etiquetas en nuestro flujo de trabajo es una práctica recomendada para mantener un control claro y ordenado de las distintas etapas y versiones de nuestro desarrollo.

Lista de reproducción
  1. 1
    ¿Qué es Git?
    4 minutos
  2. 2
    Cómo instalar Git
    9 minutos
  3. 3
    Creando tu primer commit
    9 minutos
  4. 4
    Qué es el staging area
    10 minutos
  5. 5
    Cómo deshacer modificaciones de archivos
    7 minutos
  6. 6
    Cómo deshacer un commit con reset
    7 minutos
  7. 7
    Cómo revertir un commit con revert
    7 minutos
  8. 8
    Introducción a las ramas
    6 minutos
  9. 9
    Cómo crear y modificar ramas
    6 minutos
  10. 10
    Commits bajo el workflow Feature Branch
    6 minutos
  11. 11
    Cómo fusionar ramas con merge
    6 minutos
  12. 12
    Fusiones conflictivas
    9 minutos
  13. 13
    Cómo construir alias
    7 minutos
  14. 14
    Más sobre conflictos
    9 minutos
  15. 15
    Etiquetas
    7 minutos
  16. 16
    Tags anotados
    9 minutos
  17. 17
    git stash: esconder cambios
    6 minutos
  18. 18
    Introducción a remotos
    5 minutos
  19. 19
    Pusheando a un remoto
    6 minutos
  20. 20
    Clonando y haciendo pull
    6 minutos
  21. 21
    Fetch y pull rebases
    8 minutos
  22. 22
    Rebase
    7 minutos
  23. 23
    Rebase interactivo
    6 minutos
  24. 24
    Master, main y otros nombres de rama
    9 minutos
  25. 25
    git switch
    9 minutos
  26. 26
    git-restore
    10 minutos
  27. 27
    git-grep
    11 minutos
  28. 28
    Gitignore
    11 minutos
  29. 29
    El flag --patch
    9 minutos
  30. 30
    git-apply y parches en bruto (advanced)
    9 minutos
  31. 31
    Merge octopus (advanced)
    9 minutos
  32. 32
    Conventional commits
    12 minutos
  33. 33
    Merge and squash (GitLab / GitHub...)
    6 minutos
  34. 34
    git merge --squash
    7 minutos
  35. 35
    git-bisect
    8 minutos
  36. 36
    git-blame
    6 minutos
  37. 37
    git-reflog
    10 minutos
  38. 38
    Git para la Bash
    11 minutos
  39. 39
    Submódulos (parte 1)
    7 minutos
  40. 40
    Submódulos (parte 2)
    10 minutos
  41. 41
    Otros clientes Git (último episodio)
    9 minutos