Sobes.tech
Middle

Pentru ce este folosită comanda git cherry-pick?

sobes.tech AI

Răspuns de la AI

Pentru transferul commit-urilor individuale dintr-o ramură în alta. Permite aplicarea selectivă a modificărilor prezentate de un commit specific, fără a fi nevoie să fuzionezi întreaga ramură.

Avantaje:

  • Aplicare izolată a modificărilor.
  • Evitarea conflictelor de fuziune atunci când transferi doar commit-urile necesare.
  • Menținerea curățeniei istoriei ramurilor.

Sintaxă:

git cherry-pick <hash-ul-commit-ului>

Poți specifica mai multe hash-uri de commit sau un interval de commit-uri:

git cherry-pick <hash-commit-1> <hash-commit-2> ...
git cherry-pick <hash-initial>^..<hash-final>

Exemplu de utilizare:

Presupunem că există o ramură feature cu commit-urile A, B, C, și o ramură develop. Este necesar să transferi doar commit-ul B în develop.

  1. Comută pe ramura develop:
    git checkout develop
    
  2. Execută cherry-pick pentru commit-ul B (presupunând că hash-ul său este abcdef):
    git cherry-pick abcdef
    

Dacă apar conflicte, acestea trebuie rezolvate, apoi continuă (git cherry-pick --continue) sau anulează (git cherry-pick --abort).

Alternativ:

  • git merge: Unește toate modificările dintr-o ramură în alta.
  • git rebase: Mută sau combină o secvență de commit-uri pe un nou commit de bază.

git cherry-pick este util atunci când trebuie transferate selectiv corecții de erori sau mici modificări funcționale între ramuri.