Junior
Čo je cherry-pick?
sobes.tech AI
Odpoveď od AI
git cherry-pick saťahuje jeden alebo viac commitov z jednej vetvy do druhej.
Princíp fungovania:
- Vyberie špecifikovaný commit (alebo commity) v zdrojovej vetve.
- Aplikuje zmeny obsiahnuté v týchto commitoch na aktuálnu aktívnu vetvu.
- Vytvorí nové commity v aktuálnej vetve s rovnakými zmenami a správami ako pôvodné.
Kedy použiť:
- Prenos konkrétnej opravy chyby z jednej vetvy (napríklad, production) do inej (napríklad, development), bez ovplyvnenia iných zmien.
- Aplikovanie zmien z jednej feature vetvy do inej, bez úplného zlúčenia.
- Zrušenie nesprávnych merge-ov s ponechaním samostatných commitov.
Rozdiel od merge a rebase:
merge: Spojí celú históriu zmien z jednej vetvy do druhej.rebase: Prepíše históriu commitov, presúva ich na novú základňu.cherry-pick: Používa iba vybrané commity, vytvára nové a nemení históriu pôvodných commitov.
Hlavný príkaz:
# Preniesť jeden commit
git cherry-pick <commit-hash>
# Preniesť viac commitov (v poradí ich uvedenia)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Príklad:
Predpokladajme, že existujú dve vetvy: main a feature. Na vetve feature bol vykonaný commit fix-typo. Tento commit je potrebné preniesť do vetvy main.
# Prepnúť na cieľovú vetvu
git checkout main
# Spustiť cherry-pick s hashom commitu z vetvy `feature`
git cherry-pick 7f3bca2 # Príklad hash
Po vykonaní príkazu sa v vetve main objaví nový commit s rovnakými zmenami ako fix-typo, ale s iným hashom.