Sobes.tech
Middle

Na čo sa používa príkaz git cherry-pick?

sobes.tech AI

Odpoveď od AI

Na prenos jednotlivých commitov z jednej vetvy do druhej. Umožňuje selektívne aplikovať zmeny prezentované konkrétnym commitom, bez nutnosti zlúčenia celej vetvy.

Výhody:

  • Izolovaná aplikácia zmien.
  • Vyhýbanie sa konfliktom zlúčenia pri prenose len potrebných commitov.
  • Udržiavanie čistoty histórie vetiev.

Syntax:

git cherry-pick <hash-commitu>

Môžete špecifikovať viacero hashov commitov alebo rozsah commitov:

git cherry-pick <hash-commit-1> <hash-commit-2> ...
git cherry-pick <začiatočný-hash>^..<koncový-hash>

Príklad použitia:

Predpokladajme, že existuje vetva feature s commitmi A, B, C, a vetva develop. Je potrebné preniesť len commit B do develop.

  1. Prepnite na vetvu develop:
    git checkout develop
    
  2. Vykonajte cherry-pick pre commit B (za predpokladu, že jeho hash je abcdef):
    git cherry-pick abcdef
    

Ak nastanú konflikty, je potrebné ich vyriešiť a potom pokračovať (git cherry-pick --continue) alebo operáciu zrušiť (git cherry-pick --abort).

Alternatívy:

  • git merge: Zlučuje všetky zmeny z jednej vetvy do druhej.
  • git rebase: Presúva alebo kombinuje sekvenciu commitov na nový základný commit.

git cherry-pick je užitočný, keď je potrebné selektívne preniesť opravy chýb alebo malé funkčné zmeny medzi vetvami.