Tester avec des commits plus anciens
Dans les étapes précédentes, nous avons appris ce qu'est HEAD
et comment obtenir le hachage de son commit. Maintenant, voyons comment Git fait référence aux commits plus anciens.
Actuellement, nous n'avons qu'un seul commit dans notre dépôt. Pour démontrer comment faire référence à des commits plus anciens, nous devons effectuer un autre commit.
Tout d'abord, ajoutons une autre ligne à notre fichier message.txt
. Utilisez la commande echo
avec >>
pour ajouter du texte au fichier :
echo "This is a second message." >> message.txt
Maintenant, vérifions l'état :
git status
Vous devriez voir que message.txt
a été modifié :
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
no changes added to commit (use "git add and/or git commit -a)
Maintenant, préparez les modifications et créez un nouveau commit :
git add message.txt
git commit -m "Add a second message"
Vous devriez voir une sortie indiquant qu'un nouveau commit a été créé :
[master a1b2c3d] Add a second message
1 file changed, 1 insertion(+)
Maintenant, nous avons deux commits. Affichons le journal à nouveau :
git log --oneline
L'option --oneline
donne une vue concise du journal. Vous devriez voir quelque chose comme ceci (les hachages seront différents) :
a1b2c3d (HEAD -> master) Add a second message
e4f5g6h Send a message to the future
Le commit du haut est le plus récent, et c'est là que HEAD
pointe. Le commit en dessous est le plus ancien.
Git propose des moyens de faire référence aux commits par rapport à HEAD
. Le commit directement avant HEAD
peut être référencé comme HEAD~1
ou HEAD^
. Essayons d'obtenir le hachage du commit précédent en utilisant git rev-parse
:
git rev-parse HEAD~1
Vous devriez voir le hachage du premier commit que vous avez effectué :
e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u0v1w2x3
Ce hachage devrait correspondre au hachage du commit "Send a message to the future" dans la sortie de git log --oneline
.
Vous pouvez utiliser HEAD~2
, HEAD~3
, etc., pour faire référence à des commits plus anciens dans l'historique. Cette référence relative est très utile pour naviguer dans l'historique de votre projet et effectuer des opérations sur des versions passées spécifiques.