Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git cherry-pick [-n] [-x] [--continue] [--abort] <commit>...

Descrizione

Il comando git cherry-pick applica le modifiche introdotte da uno o più commit esistenti sul branch corrente come nuovi commit. È lo strumento giusto quando hai bisogno di un singolo fix da un altro branch senza mergiare l'intero branch. I cherry-pick creano nuovi commit con nuovi SHA ma preservano l'autore originale e il messaggio.

Cherry-picking può produrre conflitti come un merge. Usa --continue dopo aver risolto, o --abort per uscire. Il flag -x aggiunge una riga "(cherry picked from commit ...)" al messaggio — utile per la tracciabilità quando si portano fix tra branch di manutenzione.

Nell'uso quotidiano, git cherry-pick si integra con alias e CI.

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

Opzioni comuni

OpzioneDescrizione
-n, --no-commitApplica le modifiche ma non committa ancora.
-xAnnota il messaggio di commit con lo SHA sorgente.
-e, --editModifica il messaggio di commit prima di committare.
--continueRiprende dopo aver risolto i conflitti.
--abortCancella e ripristina lo stato precedente.
--skipSalta il commit corrente e continua.
-m <parent>Specifica mainline quando si fa cherry-pick di un merge commit.
-SFirma GPG i commit risultanti.

Esempi

git cherry-pick abc123
# Applica un singolo commit sul branch corrente

git cherry-pick -x abc123 def456
# Applica due commit con annotazioni di tracciabilità

git cherry-pick A..B
# Fa pick di un range (esclusivo di A, inclusivo di B)

git cherry-pick --continue
# Continua dopo aver corretto i conflitti

Errori comuni

Fare cherry-pick della stessa modifica ripetutamente può confondere i merge successivi, poiché commit identici hanno SHA diversi. Usa git rerere per ricordare le risoluzioni. Fare pick di un merge senza -m fallisce. Per lunghe sequenze, preferisci rebase o merge.

Comandi correlati

git rebase, git revert, git merge, git rerere