Exécuter git tag --contains Commit
Dans cette étape, nous allons apprendre à utiliser la commande git tag --contains
pour trouver quels tags contiennent un commit spécifique. Cela est utile lorsque vous voulez savoir quelles versions ou mises à jour de votre projet incluent une modification particulière.
Tout d'abord, assurons-nous que nous sommes dans le répertoire de notre projet. Ouvrez votre terminal et accédez au répertoire my-time-machine
:
cd ~/project/my-time-machine
Maintenant, créons quelques commits et tags avec lesquels travailler. Nous allons ajouter un nouveau fichier et effectuer un commit :
echo "Another message for the future" > message2.txt
git add message2.txt
git commit -m "Add a second message"
Vous devriez voir une sortie similaire à celle-ci :
[master <commit-hash>] Add a second message
1 file changed, 1 insertion(+)
create mode 100644 message2.txt
Maintenant, ajoutons un tag à ce commit. Nous l'appellerons v1.0
:
git tag v1.0
Cette commande ne produit aucune sortie, mais elle a créé un tag pointant vers le dernier commit.
Faisons un autre commit sans tag :
echo "A third message" > message3.txt
git add message3.txt
git commit -m "Add a third message"
Vous devriez voir une sortie similaire à celle-ci :
[master <commit-hash>] Add a third message
1 file changed, 1 insertion(+)
create mode 100644 message3.txt
Maintenant, nous avons deux commits et un tag. Utilisons git log --oneline
pour voir l'historique de nos commits :
git log --oneline
Vous devriez voir quelque chose comme cela (les identifiants de commit seront différents) :
<commit-hash> (HEAD -> master) Add a third message
<commit-hash> (tag: v1.0) Add a second message
<commit-hash> Send a message to the future
Remarquez que le tag v1.0
est associé au commit "Add a second message".
Maintenant, trouvons quels tags contiennent le commit "Add a second message". Nous avons besoin de l'identifiant de ce commit. Dans la sortie de git log --oneline
, copiez l'identifiant du commit à côté de (tag: v1.0)
.
Remplacez <commit-hash>
par l'identifiant réel que vous avez copié et exécutez la commande suivante :
git tag --contains <commit-hash>
Vous devriez voir v1.0
dans la sortie, car ce tag pointe directement vers ce commit.
Maintenant, essayons de trouver quels tags contiennent le premier commit ("Send a message to the future"). Copiez l'identifiant de ce commit dans la sortie de git log --oneline
.
Remplacez <first-commit-hash>
par l'identifiant réel et exécutez :
git tag --contains <first-commit-hash>
Vous devriez toujours voir v1.0
dans la sortie. C'est parce que v1.0
est sur un commit qui est un descendant du premier commit. Le flag --contains
vérifie si le commit spécifié est un ancêtre du commit vers lequel le tag pointe.
Cette commande est très utile lorsque vous devez déterminer quelles versions de votre logiciel incluent une correction de bogue ou une fonctionnalité spécifique.