0Pricing
DevOps Bootcamp · Lezione

Cherry-pick dei commit

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

Cherry-pick dei commit è una lezione DevOps Bootcamp 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 DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp 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!

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 DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp 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 DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp 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 DevOps Bootcamp