Sobes.tech
Middle

K čemu slouží příkaz git cherry-pick?

sobes.tech AI

Odpověď od AI

Pro přenos jednotlivých commitů z jedné větve do druhé. Umožňuje selektivně aplikovat změny prezentované konkrétním commitem, aniž by bylo nutné sloučit celou větev.

Výhody:

  • Izolovaná aplikace změn.
  • Vyhýbání se konfliktům sloučení při přenosu pouze potřebných commitů.
  • Udržení čistoty historie větví.

Syntaxe:

git cherry-pick <hash-commitu>

Lze specifikovat více hashů commitů nebo rozsah commitů:

git cherry-pick <hash-commit-1> <hash-commit-2> ...
git cherry-pick <počáteční-hash>^..<konečný-hash>

Příklad použití:

Předpokládejme, že existuje větev feature s commity A, B, C, a větev develop. Je třeba přenést pouze commit B do develop.

  1. Přepněte na větev develop:
    git checkout develop
    
  2. Proveďte cherry-pick pro commit B (předpokládejme, že jeho hash je abcdef):
    git cherry-pick abcdef
    

Pokud dojde ke konfliktům, je třeba je vyřešit a poté pokračovat (git cherry-pick --continue) nebo operaci zrušit (git cherry-pick --abort).

Alternativy:

  • git merge: Sloučí všechny změny z jedné větve do druhé.
  • git rebase: Přesune nebo sloučí sekvenci commitů na nový základní commit.

git cherry-pick je užitečný, když je potřeba selektivně přenést opravy chyb nebo malé funkční změny mezi větvemi.