Sobes.tech
Middle

A cosa serve il comando git cherry-pick?

sobes.tech AI

Risposta dell'AI

Per trasferire singoli commit da un ramo a un altro. Permette di applicare selettivamente le modifiche presentate da un commit specifico, senza dover unire l'intero ramo.

Vantaggi:

  • Applicazione isolata delle modifiche.
  • Evitare conflitti di merge trasferendo solo i commit necessari.
  • Mantenere pulito lo storico dei rami.

Sintassi:

git cherry-pick <hash-del-commit>

È possibile specificare più hash di commit o un intervallo di commit:

git cherry-pick <hash-commit-1> <hash-commit-2> ...
git cherry-pick <hash-iniziale>^..<hash-finale>

Esempio di utilizzo:

Supponiamo ci sia un ramo feature con i commit A, B, C, e un ramo develop. È necessario trasferire solo il commit B in develop.

  1. Passare al ramo develop:
    git checkout develop
    
  2. Eseguire cherry-pick per il commit B (supponendo che il suo hash sia abcdef):
    git cherry-pick abcdef
    

Se ci sono conflitti, devono essere risolti, quindi continuare (git cherry-pick --continue) o annullare (git cherry-pick --abort).

Alternative:

  • git merge: Unisce tutte le modifiche di un ramo in un altro.
  • git rebase: Sposta o combina una sequenza di commit su un nuovo commit di base.

git cherry-pick è utile quando si desidera trasferire selettivamente correzioni di bug o piccole modifiche funzionali tra rami.