Se lavori con Git, probabilmente hai familiarità con comandi come git merge e git rebase.
Questi sono strumenti potenti per combinare le modifiche tra i rami.
Tuttavia, ci sono situazioni in cui potresti aver bisogno di una maggiore granularità, selezionando solo specifiche modifiche da un ramo e applicandole a un altro.
È qui che entra in gioco git cherry pick.
Indice
Cos’è Git cherry pick?
Git cherry pick è un comando che ti consente di prendere un singolo commit da un ramo e applicarlo su un altro ramo.
In sostanza, “raccoglie” una specifica “ciliegia” (il commit) e la posiziona dove desideri.
Questo è particolarmente utile quando hai bisogno di:
- Portare una hotfix urgente: Un bug è stato risolto su un ramo di sviluppo, ma la soluzione deve essere applicata immediatamente al ramo di produzione senza aspettare il merge completo del ramo di sviluppo.
- Selezionare funzionalità specifiche: Hai implementato diverse funzionalità su un ramo, ma solo una di queste è pronta per essere integrata in un altro ramo.
- Pulire la cronologia: Hai commesso un errore su un ramo e vuoi spostare i commit corretti su un nuovo ramo, lasciando indietro i commit problematici.
- Risolvere conflitti selettivamente: Invece di affrontare un merge complesso con molti commit, puoi cherry-pick i commit uno alla volta, risolvendo i conflitti man mano.
Quando esegui un git cherry-pick, Git crea un nuovo commit sul ramo di destinazione con le stesse modifiche del commit originale.
L’hash del commit sarà diverso, ma il contenuto e il messaggio del commit saranno identici (a meno che tu non li modifichi durante il processo di cherry-picking).
Come si usa Git cherry pick?
L’utilizzo di git cherry-pick è relativamente semplice. Ecco i passaggi fondamentali:
- Identifica il commit da “raccogliere”: Per prima cosa, devi conoscere l’hash del commit che vuoi selezionare. Puoi trovarlo usando
git log - Spostati sul ramo di destinazione: Prima di eseguire il cherry-pick, assicurati di essere sul ramo in cui vuoi applicare le modifiche. Puoi usare
git checkout nome-del-branch-di-destinazione - Esegui il cherry pick: Ora puoi eseguire il comando
git cherry-pick hash-del-commit.
[ Video ] – Git cherry pick in azione
Per una dimostrazione pratica e visiva di come utilizzare git cherry pick, ti consiglio di guardare questo video. Ti mostrerà passo dopo passo come applicare i commit tra i branhes e gestire eventuali conflitti.
Spero che questo video ti sia utile!
Se trovi i contenuti interessanti e vuoi rimanere aggiornato sui prossimi tutorial e suggerimenti su Git e lo sviluppo software, non dimenticare di iscriverti al canale!
Ogni iscrizione e like aiuta a creare più contenuti di valore per te.
Approfondimenti
Su dariocapozzi.it puoi trovare numerosi contenuti relativi a git ed al coding in generale.
Eccone alcuni:
- Cos’è Git: il software per il controllo di versione
- Cosa è XML? A cosa serve un file XSD?
- L’integrità referenziale nei database relazionali
- Indici del database: cosa sono? A cosa servono?
- Cosa sono i cookies, come eliminarli
Conclusione
In sintesi, git cherry pick è un comando chirurgico e indispensabile nella cassetta degli attrezzi di ogni sviluppatore.
A differenza di un merge o un rebase che combinano intere sequenze di storia, il cherry pick offre la precisione di selezionare un singolo commit da applicare a un ramo diverso, risolvendo così in modo elegante problemi come hotfix urgenti o l’integrazione selettiva di funzionalità.
La sua potenza risiede nella sua granularità.
Ricorda di usarlo con consapevolezza per mantenere una cronologia pulita e tracciabile, ma quando hai bisogno di spostare quella singola “ciliegia” da un albero all’altro, non c’è strumento migliore.


