Git & GitHub Professional Workflow · Lezione

Cherry-pick dei commit

Comprenda come applicare selettivamente singoli commit da un branch a un altro utilizzando `git cherry-pick`.

Lezione 3 di 411 passaggi

Cherry-pick dei commit è una lezione Git & GitHub Professional Workflow gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Git & GitHub Professional Workflow, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Git & GitHub Professional Workflow include 4 lezioni in totale.

Spostare selettivamente i commit

E se avesse bisogno di una modifica specifica di un branch, anziché dell'intero branch? git cherry-pick consente di applicare direttamente al branch corrente un singolo commit proveniente da qualsiasi punto della cronologia del repository.

È come raccogliere una singola ciliegia da un albero! In questo modo viene creato un nuovo commit sul branch corrente, che riproduce le modifiche dell'originale.

Quando usare il cherry-pick

Immagini di lavorare a un grande branch di funzionalità e di scoprire che una correzione di un bug critico realizzata lì serve subito anche nel branch principale di produzione. Non vuole ancora eseguire il merge dell'intero branch di funzionalità.

Questo è lo scenario ideale per cherry-pick. Consente di trasferire modifiche isolate senza includere lavoro non correlato.

Il comando di base

Il comando fondamentale è semplice: git cherry-pick <commit-hash>.

  • Per prima cosa, si assicuri di trovarsi nel branch in cui desidera applicare il commit.
  • Quindi, recuperi l'identificativo univoco (hash) del commit che desidera selezionare.
  • Git creerà un nuovo commit con le stesse modifiche nel branch corrente.
git cherry-pick <commit-hash>

Trovare gli hash dei commit

Per eseguire il cherry-pick serve l'hash! Può trovarlo usando git log.

L'opzione --oneline è particolarmente utile per una visualizzazione concisa:

git log --oneline

Configurare lo scenario del cherry-pick

Impostiamo uno scenario semplice. Creeremo un branch main e un branch feature/login. Creeremo un commit su feature/login che desideriamo portare su main.

Desideriamo portare il commit "HOTFIX" su main.

git init my_project
cd my_project
echo "Initial content" > file.txt
git add file.txt
git commit -m "Initial commit"
git branch feature/login
git checkout feature/login
echo "Login feature added" >> login.txt
git add login.txt
git commit -m "Add basic login feature"
echo "Fix: Login button style" >> style.css
git add style.css
git commit -m "HOTFIX: Fix login button styling"

Eseguire il cherry-pick

Ora torni al branch main e applichi il commit "HOTFIX". Supponiamo che l'hash di "HOTFIX: Fix login button styling" sia abcdefg.

Dopo aver eseguito il comando, nel branch main comparirà un nuovo commit con le stesse modifiche di abcdefg. Usi git log --oneline per visualizzarlo!

git checkout main
git cherry-pick abcdefg

Gestire i conflitti del cherry-pick

Come nel merge, il cherry-pick può causare conflitti se le stesse righe di codice sono state modificate in modo diverso nelle due cronologie.

  • Git metterà in pausa l'operazione e contrassegnerà i file in conflitto.
  • Risolva manualmente i conflitti nei file.
  • Aggiunga all'area di staging i file risolti con git add.
  • Completi l'operazione con git cherry-pick --continue.
# After resolving conflicts in editor:
git add .
git cherry-pick --continue

Selezionare più commit

Può eseguire il cherry-pick di più di un commit alla volta.

Per selezionare un intervallo di commit (da hashA fino a, ma senza includere, hashB):

git cherry-pick hashA..hashB

Quando usarlo (e quando evitarlo)

Il cherry-pick è potente, ma va usato con criterio.

  • Ideale per: hotfix e trasferimento di modifiche piccole e isolate tra branch non correlati.
  • Meno indicato per: integrare regolarmente grandi insiemi di modifiche, poiché può creare commit duplicati e rendere la cronologia più difficile da seguire se non si presta attenzione. Per integrare interi branch, è preferibile usare il merge o il rebase.

Verifica rapida: scopo del cherry-pick

Nel branch feature/new-design ha un commit che corregge un problema critico di stile. Ha bisogno di questa correzione immediatamente nel branch main, senza eseguire il merge dell'intero branch di funzionalità.

Riepilogo: modifiche mirate

In questa lezione abbiamo scoperto git cherry-pick, un comando utile per applicare commit specifici al branch corrente.

  • Crea un nuovo commit con le stesse modifiche nel branch di destinazione.
  • È ideale per gli hotfix o per trasferire modifiche isolate.
  • Serve l'hash del commit, generalmente individuabile con git log --oneline.
  • Si prepari a risolvere i conflitti, proprio come durante un merge.

Imparare a usare il cherry-pick le offre un controllo preciso sulla cronologia del progetto!

Gratis per iniziare

Impara Git & GitHub Professional Workflow con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
12
Lezioni
48

Domande Frequenti

La lezione «Cherry-pick dei commit» è gratuita?

Sì — il testo completo di «Cherry-pick dei commit» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Git & GitHub Professional Workflow, passa a CoddyKit PRO. Il corso Git & GitHub Professional Workflow include 4 lezioni in totale.

Cosa imparerò in «Cherry-pick dei commit»?

Comprenda come applicare selettivamente singoli commit da un branch a un altro utilizzando `git cherry-pick`. Eserciti Git & GitHub Professional Workflow con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Git & GitHub Professional Workflow?

Non è richiesta alcuna esperienza precedente. Git & GitHub Professional Workflow su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Cherry-pick dei commit»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Git & GitHub Professional Workflow?

Sì. Ogni lezione Git & GitHub Professional Workflow include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Risoluzione manuale dei conflitti di merge
  2. Rebase interattivo della cronologia
  3. Cherry-pick dei commit
  4. Usare Git Rerere per riutilizzare le risoluzioni dei conflitti
← Torna a Git & GitHub Professional Workflow