Lire l'historique
Ton projet a une mémoire
Chaque commit que tu fais est enregistré pour toujours. Git te donne des outils pour explorer cet historique. Comprendre les modifications passées, voir ce qui a changé, retrouver quand un bug a été introduit.
git status — l'état actuel
git status, c'est ta boussole. Lance-la souvent.
Elle te montre :
- Sur quelle branche tu es
- Quels fichiers ont été modifiés mais pas encore stagés
- Quels fichiers sont stagés et prêts à être commités
- Quels fichiers ne sont pas suivis par Git (untracked)
git status
# On branch main
# Changes not staged for commit:
# modified: index.html
# Untracked files:
# style.css
git log — l'historique des commits
git log affiche tous les commits du plus récent au plus ancien.
Chaque commit a un identifiant unique (le hash), un auteur, une date et un message.
git log
# commit a3f2c1b9d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9
# Author: Alice <alice@example.com>
# Date: Mon Apr 14 10:23:45 2025
#
# Ajout du menu de navigation
Le hash long (40 caractères) identifie chaque commit de façon unique dans l'univers. Tu peux utiliser juste les 7 premiers caractères dans la plupart des commandes.
git log en version compacte
# Une ligne par commit — bien plus lisible
git log --oneline
a3f2c1b Ajout du menu de navigation
e9d4a7f Correction bug formulaire
12bc890 Première page d'accueil
4d5e6f7 Initialisation du projet
# Avec graphe des branches
git log --oneline --graph
git log --oneline est ta meilleure amie. Tape q pour quitter l'affichage si c'est trop long.
git diff — voir les modifications
git diff montre exactement ce qui a changé dans les fichiers modifiés.
Les lignes en rouge avec - ont été supprimées.
Les lignes en vert avec + ont été ajoutées.
# Voir les changements non-stagés
git diff
# diff --git a/index.html b/index.html
# @@ -1,3 +1,4 @@
# <h1>Mon titre</h1>
# -<p>Ancien texte</p>
# +<p>Nouveau texte amélioré</p>
# +<p>Un paragraphe ajouté</p>
Variantes utiles de git diff
# Voir les changements stagés (pas encore commités)
git diff --staged
# Comparer avec un commit précis
git diff a3f2c1b
# Comparer deux commits
git diff a3f2c1b e9d4a7f
Revenir à un commit précédent
Tu veux juste voir ton projet dans un état passé ?
# Voir le projet tel qu'il était à ce commit
git checkout a3f2c1b
# Revenir à l'état actuel
git checkout main
Quand tu fais git checkout sur un commit, tu es en mode "detached HEAD".
Tu peux regarder mais pas modifier. Retourne sur main pour reprendre le travail normal.
git status: état actuel (modifié, stagé, untracked). Lancer souvent.git log --oneline: liste compacte de l'historique. Le hash = identifiant unique du commit.git diff: voir exactement ce qui a changé. Rouge = supprimé, vert = ajouté.git diff --staged: voir les changements déjà stagés.git checkout <hash>pour visiter un commit passé.git checkout mainpour revenir.