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

Le cas pour le staging en mode patch

Le git add par défaut stage des fichiers entiers. Les éditions réelles arrivent rarement par unités de fichier entier.

Invoquer le mode patch

git add -p
git add -p src/checkout.js
Stage this hunk [y,n,q,a,d,s,e,?]?

Les prompts qui comptent

  • y - stager ce hunk.
  • n - sauter ce hunk.
  • s - diviser en hunks plus petits.
  • e - éditer le hunk à la main.
  • q - quitter.
  • a - stager celui-ci et tous les suivants dans le fichier.
  • d - sauter celui-ci et tous les suivants.

Édition manuelle de hunk

Appuyer sur e ouvre le hunk dans votre éditeur. Pour exclure un ajout, supprimez la ligne. Pour exclure une suppression, remplacez le - initial par un espace.

Un workflow réel

git diff src/cart.js
git add -p src/cart.js
git diff --cached src/cart.js
git diff src/cart.js
git commit -m "Fix cart total off-by-one"

Mode patch pour d'autres commandes

git reset -p
git checkout -p
git stash -p
git restore -p