Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git add -p [<path>...]
git add --patch [<path>...]

Descrizione

Il comando git add -p lancia un'interfaccia interattiva che attraversa ogni "hunk" di modifiche nella tua working tree, chiedendoti di decidere per ognuno: stage, skip, split, edit, ecc. Questa è l'arma segreta per costruire commit puliti e atomici quando la tua working tree contiene un misto di modifiche correlate e non correlate.

Il prompt interattivo accetta comandi a singola lettera: y (sì, mette in stage questo hunk), n (no, salta), s (divide in hunk più piccoli), e (modifica l'hunk manualmente), q (esce), ? (aiuto), e diversi altri. Padroneggiare add -p è una delle abilità a maggior leva per produrre storia revisionabile.

Nell'uso quotidiano, git add -p si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Opzioni comuni

Comando interattivoDescrizione
yMette in stage questo hunk.
nNon mette in stage questo hunk.
sDivide in hunk più piccoli.
eModifica manualmente l'hunk.
aMette in stage questo e tutti gli hunk rimanenti in questo file.
dSalta questo e tutti gli hunk rimanenti in questo file.
qEsce; non mette in stage altri hunk.
?Mostra l'aiuto.

Esempi

git add -p
# Attraversa gli hunk di ogni file modificato

git add -p src/auth.go
# Restringe a un file

# Dentro il prompt:
# Premi 's' per dividere un hunk grande in più piccoli
# Premi 'e' per modificare manualmente il testo dell'hunk
# Premi 'y' o 'n' per accettare o saltare

git diff --cached
# Rivedi cosa è ora in stage

Errori comuni

Modificare un hunk con e richiede di capire il formato diff unificato — aggiungere una riga significa che il nuovo file ce l'ha, rimuovere una riga di contesto significa che il nuovo file ne è privo. Errori qui possono produrre stato dell'index confuso. Verifica sempre con git diff --cached dopo.

Comandi correlati

git add, git stash -p, git restore -p, git checkout -p