Git & GitHub Leçon 3
Historique et retour en arrière
Consulter l'historique, voir ce qui a changé, et annuler une erreur sans paniquer.
À la fin de cette leçon, tu sauras
- Lire l'historique avec git log
- Voir les différences avec git diff
- Annuler des modifications avec git restore et git revert
Lire l'historique
git log
git log --onelinea3f9c21 Ajoute le formulaire de contact
7b2e104 Corrige le menu sur mobile
e91d0aa Ajoute la page d'accueilChaque commit a un identifiant unique (un « hash ») : a3f9c21 est sa version courte. Le plus récent est en haut.
Voir ce qui a changé
git diff # ce que tu as modifié mais pas encore préparé
git diff --staged # ce qui est préparé pour le prochain commit
git show a3f9c21 # le contenu d'un commit précisLes lignes ajoutées s'affichent avec un +, les lignes supprimées avec un -.
Annuler
- Tu as abîmé un fichier et tu veux revenir à la dernière version enregistrée :
git restore index.html; - Tu as préparé un fichier par erreur :
git restore --staged index.htmlle retire de l'index, sans toucher à ton travail ; - Un commit déjà enregistré pose problème :
git revert a3f9c21crée un nouveau commit qui fait l'inverse. L'historique reste complet et honnête.
Attention : git restore fichier efface définitivement les modifications non enregistrées de ce fichier. Vérifie avec git diff avant.
Astuce : tu croiseras aussi git reset --hard, qui réécrit l'historique. Il est dangereux, surtout sur un projet partagé : préfère git revert.
À toi de jouer
Ton dernier commit, d'identifiant 4c1d2e9, a cassé le site, qui est déjà partagé avec ton équipe. Tape dans le terminal les commandes pour :
- afficher l'historique en version courte, une ligne par commit ;
- regarder le contenu du commit
4c1d2e9; - annuler ce commit proprement, sans réécrire l'historique.
- git log --oneline affiche l'historique court
- git show affiche le commit 4c1d2e9
- git revert annule le commit
- Pas de git reset --hard
Bravo, toutes les consignes sont réussies !
Bloqué ? Voir une solution
git log --oneline
git show 4c1d2e9
git revert 4c1d2e9