Categorie
Web development

Git cherry pick: cosa è? Come si usa?

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.

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:

  1. Identifica il commit da “raccogliere”: Per prima cosa, devi conoscere l’hash del commit che vuoi selezionare. Puoi trovarlo usando git log
  2. 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
  3. 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:

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.

Lascia un commento