Lire l’historique avec git log
Vous avez deux commits. Voyons comment les retrouver, et ce que représente vraiment HEAD.
Si vous avez suivi le guide précédent jusqu'au bout, mon-premier-site contient maintenant deux commits : un premier qui ajoute index.html et style.css, et un second qui ajoute README.md. C'est un historique très court, mais parfait pour apprendre à le lire, avant qu'il ne devienne plus long et plus difficile à parcourir d'un coup d'œil.
La commande git log
Dans le dossier de votre projet, tapez simplement :
Cette vue complète est utile, mais assez encombrante pour un usage quotidien. Git affiche les commits du plus récent en haut vers le plus ancien en bas : c'est l'ordre inverse de la manière dont vous les avez créés. Chaque bloc contient un identifiant de commit complet (le « hash »), l'auteur tel que configuré dans le guide 3, une date, et le message que vous avez écrit.
La version courte, celle que vous utiliserez le plus
Au quotidien, l'option --oneline est bien plus pratique : elle résume chaque commit à une seule ligne.
L'identifiant affiché ici est raccourci à sept caractères, ce qui suffit largement à le désigner sans ambiguïté dans un petit projet. Vous n'avez presque jamais besoin de retenir ou de recopier un hash complet : la version courte fonctionne tout aussi bien dans la plupart des commandes Git qui en attendent un.
Ce que représente HEAD
Vous remarquez la mention (HEAD -> main) à côté du commit le plus récent. HEAD est un repère que Git déplace automatiquement pour indiquer où vous vous trouvez actuellement dans l'historique. La plupart du temps, HEAD pointe simplement vers le dernier commit de la branche que vous avez sous les yeux, ici main.
Une image utile, avec sa limite : pensez à HEAD comme au signet que vous laissez dans un livre. Il indique où vous en êtes, pas ce que contient tout le livre. Quand vous créerez des branches dans les prochains guides, vous verrez HEAD se déplacer d'une branche à l'autre à chaque changement, ce qui deviendra beaucoup plus concret qu'une simple définition.
Retrouver un commit précis
Sur un historique de deux commits, tout est visible d'un coup. Sur un projet plus ancien, vous chercherez souvent un commit précis. L'option -n suivie d'un nombre limite l'affichage aux commits les plus récents, ce qui évite de faire défiler tout l'historique pour vérifier votre dernier travail.
Un rappel important
Tout ce que vous voyez avec git log à ce stade du parcours reste strictement local à votre ordinateur. Aucun de ces deux commits n'existe sur GitHub, puisque vous n'avez encore créé aucun dépôt distant ni tapé aucun git push. Cette étape arrivera à partir du guide 13. D'ici là, continuez de considérer git log comme une fenêtre ouverte uniquement sur votre propre disque dur.
Après un commit qui vous semble important, prenez l'habitude de vérifier immédiatement avec git log --oneline qu'il apparaît bien en tête de liste, avec le message que vous vouliez. C'est une vérification qui prend deux secondes et qui évite bien des surprises découvertes trop tard.
Vérifiez que vous avez compris
Si vous créez un troisième commit maintenant dans mon-premier-site, où apparaîtra-t-il dans le résultat de git log --oneline, et où pointera HEAD ensuite ?
Le nouveau commit apparaîtra tout en haut de la liste, puisque git log affiche du plus récent au plus ancien. Et HEAD se déplacera automatiquement pour pointer vers ce nouveau commit, qui devient le dernier point de l'historique sur la branche main.