Par Anonyme (non vérifié) , 29 avril 2026

Introduction

Presque chaque session Git suit le même rythme en trois étapes : éditer les fichiers dans votre arborescence de travail, stager les changements que vous voulez enregistrer et les commiter dans l'historique. Maîtriser cette boucle est la base de tout le reste.

Les trois zones

  • Arborescence de travail : les fichiers sur disque que vous éditez avec votre éditeur.
  • Index (aussi appelé staging area) : un instantané de ce qui ira dans le prochain commit.
  • Dépôt : l'historique commité stocké dans .git.

Un cycle complet

  1. Éditez un fichier dans votre éditeur.
  2. Exécutez git status pour voir ce qui a changé.
  3. Exécutez git diff pour inspecter les changements.
  4. Stagez avec git add.
  5. Commitez avec git commit.
echo "hello" >> notes.txt
git status
git diff
git add notes.txt
git diff --staged
git commit -m "Add greeting to notes"

Stager sélectivement

Vous pouvez stager des fichiers individuels, des motifs glob ou même des parties d'un fichier en mode interactif :

git add notes.txt readme.md
git add "src/*.py"
git add -p notes.txt    # mode patch : oui/non par hunk

Le mode patch est précieux quand vous avez des changements mélangés que vous voulez séparer en plusieurs commits.

Sauter l'index

Le raccourci git commit -a stage et commite tous les fichiers suivis en une étape. Il n'ajoute pas les nouveaux fichiers (non suivis) :

git commit -am "Quick fix"

Écrire de bons commits

Un message de commit a une ligne de sujet courte (50 caractères environ) et un corps optionnel expliquant le pourquoi. Exécutez git commit sans -m pour ouvrir votre éditeur :

git commit
# l'éditeur s'ouvre
# Ligne de sujet
#
# Explication plus longue...

Commits atomiques

Un bon commit capture un seul changement logique. Construisez-le délibérément : stagez exactement les hunks qui vont ensemble avec git add -p, puis commitez. Si vous décrivez un commit avec « et » dans le sujet (« Fix login and refactor logger »), il devrait probablement s'agir de deux commits.

git add -p src/auth.py        # stager seulement la correction de login
git commit -m "Fix login redirect on expired session"
git add -p src/logger.py
git commit -m "Refactor logger to use structured fields"

Les commits atomiques rendent git bisect, git revert et la revue de code beaucoup plus faciles par la suite.

Erreurs fréquentes

Oublier de faire git add sur les nouveaux fichiers et être surpris par un commit « vide ». git status dit toujours la vérité ; lisez-le avant de commiter. Autre piège : utiliser git commit -am quand vous avez de nouveaux fichiers non suivis, ce qui les laisse silencieusement de côté. Enfin, commiter des fichiers générés (sortie de build, node_modules, paramètres d'IDE) encombre l'historique et ralentit les clones ; ajoutez-les à .gitignore avant de stager. Dans le doute, exécutez git diff --staged pour voir exactement ce que votre prochain commit contiendra.