Naviguer dans l'historique — diff, show, checkout
Voir les changements et revenir en arrière
Concepts Théoriques
Git sauvegarde chaque version de votre code. Mais à quoi sert un historique si vous ne savez pas le consulter ? Ce chapitre vous apprend à voir ce qui a changé, examiner un commit en détail, et revenir en arrière.
git diff — voir les changements
git diff montre les modifications AVANT le staging (entre le working directory et le dernier commit). Les lignes en rouge précédées de - sont supprimées, les lignes en vert précédées de + sont ajoutées.
- git diff — changements non stagés
- git diff --staged — changements stagés (prêts à être commités)
- git diff HEAD~1 — changements entre le dernier et l'avant-dernier commit
git show — examiner un commit
git show a1b2c3d affiche le détail complet d'un commit : auteur, date, message, et toutes les modifications ligne par ligne.
git log avancé
- git log --oneline --graph --all — historique avec graphique de branches (le plus utile)
- git log --author="Moussa" — filtrer par auteur
- git log --since="2026-03-01" — filtrer par date
- git log -- style.css — historique d'un fichier spécifique
Revenir en arrière — 3 méthodes
git checkout hash -- fichier — Restaurer UN fichier à une version antérieure. Ne touche pas l'historique.
git revert HEAD — Crée un NOUVEAU commit qui annule le dernier. L'historique est préservé (recommandé quand vous avez déjà poussé sur GitHub).
git reset --hard HEAD~1 — Supprime le dernier commit COMPLÈTEMENT. L'historique est réécrit. Dangereux — à utiliser seulement en local, JAMAIS après un push.
Différence entre revert et reset : revert est sûr (ajoute un commit d'annulation), reset est destructif (supprime des commits). En cas de doute, utilisez revert.
git stash — mettre de côté temporairement
Vous travaillez sur une fonctionnalité mais on vous demande de corriger un bug urgent. Vos modifications ne sont pas prêtes à être commitées. git stash les met de côté. Vous corrigez le bug, commitez, puis git stash pop récupère vos modifications en cours.
> Bonne pratique : Consultez git log --oneline régulièrement pour garder une vision claire de l'historique. C'est votre "timeline" du projet.