Voir les changements et bien les raconter
Le gain du jour : avant chaque commit, tu sauras relire exactement ce que tu t’apprêtes à photographier avec
git diff, et écrire un message que tes futurs coéquipiers (et toi dans 6 mois) remercieront.
Échauffement — de mémoire, sans tricher
Avant de continuer, prends 30 secondes et réponds de tête (c’est l’effort de rappel qui ancre la mémoire) :
0. Dans quel ordre un fichier traverse-t-il les 3 zones ?
git diff : la loupe avant la photo
git status te dit quels fichiers ont changé. git diff te montre
quoi exactement, ligne par ligne : les lignes supprimées commencent par -,
les ajoutées par +
(Pro Git, « Enregistrer des modifications »).
Subtilité importante — il y a deux diffs, un par frontière entre zones :
| Commande | Compare… | Répond à la question |
|---|---|---|
git diff | working directory ↔ staging area | « Qu’ai-je modifié que je n’ai pas encore mis en scène ? » |
git diff --staged | staging area ↔ dernier commit | « Qu’y aura-t-il exactement dans ma prochaine photo ? » |
Après git add, git diff n’affiche plus rien — et non,
tes changements n’ont pas disparu ! Ils sont juste passés de l’autre côté de la frontière :
c’est désormais git diff --staged qui les montre.
Le message de commit : une lettre à ton équipe
En équipe, l’historique Git se lit comme un journal de bord : c’est souvent le seul endroit qui explique pourquoi une modification a été faite. La convention universelle, résumée du guide de référence « How to Write a Git Commit Message » (en anglais) :
- Un titre court (~50 caractères), à l’impératif : « Ajoute… », « Corrige… », « Supprime… » — comme un ordre donné au code.
- Le titre complète la phrase : « Si on applique ce commit, il va… » → « …Corriger le calcul de la moyenne » ✓ / « …corrigé le bug » ✗.
- Le titre dit le quoi ; si le pourquoi n’est pas évident, ajoute un paragraphe après une ligne vide (on pratiquera ça plus tard).
| ❌ Mauvais | ✓ Bon |
|---|---|
maj | Corrige la division par zéro dans la moyenne |
oups | Restaure le chargement du fichier CSV |
changements du lundi | Ajoute le nettoyage des valeurs manquantes |
Entraîne-toi ici — terminal simulé
Avant de passer au vrai terminal, fais l’exercice dans ce simulateur : il accepte les vraies commandes du cours et valide ton résultat automatiquement. Erreur sans conséquence, bouton reset à volonté.
À toi de jouer
Retourne dans ton dépôt d’entraînement de la leçon 1 :
cd ~/Workspaces/pythons/git-entrainement
Modifie
analyse.py: ajoute une ligne, par exemple :echo "moyenne = sum([1, 2, 3]) / 3" >> analyse.pyRegarde le changement à la loupe :
git diffRepère la ligne verte préfixée
+: c’est ton ajout, encore côté working directory.Mets-le en scène, puis vérifie le piège :
git add analyse.py git diffPlus rien ! Normal. Maintenant demande la bonne frontière :
git diff --stagedTa ligne
+réapparaît : voilà le contenu exact de ta prochaine photo.Commite avec un bon message (impératif, précis) :
git commit -m "Ajoute le calcul de la moyenne"Relis ton journal de bord en version compacte :
git log --onelineUne ligne par commit : identifiant court + titre. C’est comme ça que ton équipe lira ton travail.
Boucle d’entraînement (2–3 fois) : modifie le fichier →
git diff(relis !) →git add→git diff --staged(vérifie !) →git commitavec un titre impératif →git log --oneline. Ce réflexe « relire avant de committer » est exactement celui d’une revue de code — tu t’entraînes déjà au travail d’équipe.
Vérifie ta compréhension
1. Tu viens de faire git add et git diff n'affiche rien. Pourquoi ?
2. Quelle commande montre exactement ce que contiendra ton prochain commit ?
3. Quel est le meilleur titre de commit ?
Pour aller plus loin
📖 Source principale : Pro Git (fr) — « Enregistrer des modifications dans le dépôt » : c’est exactement le cycle de cette leçon, avec les sorties de commandes détaillées. Et pour les messages, le court classique cbea.ms/git-commit.
🗂 Fiche mise à jour : Commandes Git — antisèche.