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 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 --onelineConfigurare 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 abcdefgGestire 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 --continueSelezionare 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..hashBQuando 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!
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
- Risoluzione manuale dei conflitti di merge
- Rebase interattivo della cronologia
- Cherry-pick dei commit
- Usare Git Rerere per riutilizzare le risoluzioni dei conflitti