Por Anónimo (no verificado) , 29 Abril 2026

El caso para el staging en modo patch

El git add predeterminado stagea archivos enteros. Las ediciones reales rara vez vienen en unidades de archivo entero — casi siempre tienes una mezcla de ajustes no relacionados.

Invocar el modo patch

git add -p
# o, limitado a un archivo específico
git add -p src/checkout.js
Stage this hunk [y,n,q,a,d,s,e,?]?

Los prompts importantes

  • y - stagear este hunk.
  • n - saltar este hunk.
  • s - dividir en hunks más pequeños.
  • e - editar el hunk a mano.
  • q - salir; no stagear más.
  • a - stagear este y todos los siguientes en el archivo.
  • d - saltar este y todos los siguientes en el archivo.

Edición manual de hunks

Presionar e abre el hunk en tu editor. Para excluir una adición, elimina la línea. Para excluir una eliminación, cambia el - inicial por un espacio.

Un flujo real

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"

Modo patch para otros comandos

git reset -p          # un-stagear hunks selectivamente
git checkout -p      # descartar hunks selectivamente
git stash -p         # stashear hunks específicos
git restore -p