Utiliser git branch --contains
pour vérifier la présence d'un commit
Dans cette étape, nous apprendrons à utiliser la commande git branch --contains
pour déterminer quelles branches contiennent un commit spécifique. Cela est utile lorsque vous avez plusieurs branches et que vous souhaitez savoir où une modification particulière se trouve.
Tout d'abord, assurez-vous que vous êtes dans le répertoire de votre projet :
cd ~/project/my-time-machine
Créons une nouvelle branche pour démontrer cette commande. Nous l'appellerons feature-branch
:
git branch feature-branch
Cette commande crée une nouvelle branche, mais ne bascule pas sur elle. Vous pouvez voir vos branches en utilisant git branch
:
git branch
Vous devriez voir quelque chose comme ceci, avec master
en surbrillance (indiquant qu'il s'agit de la branche actuelle) :
* master
feature-branch
Maintenant, récupérons le hash de notre premier commit. Nous pouvons utiliser git log --oneline
pour voir un historique condensé avec les hashes des commits :
git log --oneline
Vous verrez une sortie similaire à celle-ci (vos hashes seront différents) :
e4f5g6h (HEAD -> master) Update message.txt
a1b2c3d Add a second file
abcdef0 Send a message to the future
Copiez le hash du premier commit ("Send a message to the future"). Dans l'exemple ci-dessus, c'est abcdef0
.
Maintenant, utilisons git branch --contains
avec le hash du premier commit :
git branch --contains abcdef0
Remplacez abcdef0
par le véritable hash de votre premier commit.
La sortie devrait afficher à la fois master
et feature-branch
:
* master
feature-branch
Cela nous indique que le commit "Send a message to the future" existe à la fois sur les branches master
et feature-branch
. Cela est logique car nous avons créé feature-branch
alors que nous étions sur la branche master
, et le premier commit faisait déjà partie de master
.
Maintenant, récupérons le hash du dernier commit ("Update message.txt"). Dans l'exemple ci-dessus, c'est e4f5g6h
.
Utilisons git branch --contains
avec le hash du dernier commit :
git branch --contains e4f5g6h
Remplacez e4f5g6h
par le véritable hash de votre dernier commit.
La sortie devrait seulement afficher master
:
* master
C'est parce que le dernier commit a été effectué sur la branche master
après avoir créé feature-branch
. Par conséquent, feature-branch
ne contient pas ce commit.
La commande git branch --contains
est un outil puissant pour comprendre la relation entre les commits et les branches, vous aidant à suivre où les modifications spécifiques ont été intégrées.