Dans cette étape, nous allons explorer le comportement de git describe --tags
lorsque nous ne sommes pas sur le dernier commit. Cela montre comment cette commande vous aide à comprendre votre position dans l'historique du projet par rapport à vos étiquettes.
Tout d'abord, assurez-vous que vous êtes dans le répertoire du projet :
cd ~/project/my-time-machine
Nous sommes actuellement sur le dernier commit, qui est étiqueté avec v1.1
. Utilisons de nouveau git describe --tags
pour confirmer :
git describe --tags
La sortie devrait être v1.1
car le commit actuel est exactement là où pointe l'étiquette v1.1
.
Maintenant, revenons au commit où nous avons créé l'étiquette v1.0
. Nous pouvons utiliser git checkout
suivi du nom de l'étiquette pour cela.
git checkout v1.0
Vous verrez une sortie indiquant que vous êtes dans un état de « tête détachée » ('detached HEAD'). Ne vous inquiétez pas pour l'instant ; cela signifie simplement que vous regardez un commit spécifique plutôt que la pointe d'une branche.
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'
Maintenant que nous sommes au commit étiqueté v1.0
, exécutons de nouveau git describe --tags
:
git describe --tags
La sortie devrait simplement être :
v1.0
C'est parce que le commit actuel est exactement là où se trouve l'étiquette v1.0
. Il n'y a pas de commits entre la position actuelle et l'étiquette v1.0
.
Essayons de revenir au commit où nous avons créé l'étiquette v0.9
:
git checkout v0.9
Encore une fois, vous verrez le message de tête détachée.
Maintenant, exécutez git describe --tags
:
git describe --tags
La sortie devrait être similaire à :
v0.9
Cela confirme que git describe --tags
identifie correctement l'étiquette la plus proche à partir de votre position actuelle dans l'historique des commits. Cette capacité à décrire les commits par rapport aux étiquettes est très utile pour comprendre l'état de votre projet à différents moments.
Pour revenir au dernier commit de la branche master
, vous pouvez utiliser :
git checkout master
Vous devriez voir une sortie indiquant que vous êtes revenu sur la branche master :
Switched to branch 'master'
Your branch is up to date with 'origin/master'.