En este paso, exploraremos cómo se comporta git describe --tags
cuando no estamos en el último commit. Esto demuestra cómo el comando te ayuda a entender tu posición en la historia del proyecto en relación con tus etiquetas.
Primero, asegúrate de estar en el directorio del proyecto:
cd ~/project/my-time-machine
Actualmente estamos en el último commit, que está etiquetado con v1.1
. Usemos git describe --tags
de nuevo para confirmar:
git describe --tags
La salida debería ser v1.1
porque el commit actual es exactamente donde apunta la etiqueta v1.1
.
Ahora, regresemos al commit donde creamos la etiqueta v1.0
. Podemos usar git checkout
seguido del nombre de la etiqueta para hacer esto.
git checkout v1.0
Verás una salida que indica que estás en un estado de 'HEAD desatachado' (detached HEAD). No te preocupes por esto por ahora; simplemente significa que estás viendo un commit específico en lugar del final de una rama (branch).
Note: switching to 'v1.0'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command (for example,
'git switch -c <new-branch-name>'). Or, if you meant to switch to a number
of commits past an existing branch, what you probably want is to use
'git switch <branch-name>~<number>'.
Switched to a new branch 'v1.0'
Ahora que estamos en el commit etiquetado v1.0
, ejecutemos git describe --tags
de nuevo:
git describe --tags
La salida debería ser simplemente:
v1.0
Esto se debe a que el commit actual es exactamente donde se encuentra la etiqueta v1.0
. No hay commits entre la posición actual y la etiqueta v1.0
.
Intentemos regresar al commit donde creamos la etiqueta v0.9
:
git checkout v0.9
Nuevamente, verás el mensaje de HEAD desatachado.
Ahora, ejecuta git describe --tags
:
git describe --tags
La salida debería ser similar a:
v0.9
Esto confirma que git describe --tags
identifica correctamente la etiqueta más cercana desde tu posición actual en la historia de los commits. Esta capacidad de describir commits en relación con las etiquetas es muy útil para entender el estado de tu proyecto en diferentes puntos del tiempo.
Para volver al último commit en la rama master
, puedes usar:
git checkout master
Deberías ver una salida que indique que has vuelto a la rama master:
Switched to branch 'master'
Your branch is up to date with 'origin/master'.