Da Anonimo (non verificato) , 29 Aprile 2026

Cosa fa il cherry-pick

git cherry-pick applica il diff di uno o piu commit sul branch corrente come nuovi commit. E lo strumento giusto quando si vuole un cambiamento specifico senza fare merge dell'intero branch — tipico per il backport di fix su un branch di release.

Uso base e per range

git cherry-pick <sha>
git cherry-pick A..B
git cherry-pick A^..B

Risolvere i conflitti

git cherry-pick --continue
git cherry-pick --skip
git cherry-pick --abort

Registrare la sorgente

git cherry-pick -x <sha>

Mainline per i merge

git cherry-pick -m 1 <merge-sha>

Insidia: storie divergenti

Il cherry-pick crea un nuovo commit con SHA diverso dall'originale. Se entrambi i branch alla fine vengono fusi, Git spesso li riconcilia, ma se le due copie sono divergenti tramite modifiche successive si rischia riapplicazione o conflitto.

Insidia: deriva semantica silenziosa

Un cherry-pick testualmente pulito puo comunque rompere il comportamento se il codice circostante ha cambiato significato. Eseguire sempre i test dopo i pick.

Tracciare i pick applicati

git log -p <sha> | git patch-id
git log -p main | git patch-id

Errori comuni

Cherry-pick senza -x su un branch di release rende doloroso l'audit. Dimenticare -m su un commit di merge produce un pick vuoto o un diff confuso.