Junior
Co je cherry-pick?
sobes.tech AI
Odpověď od AI
git cherry-pick se používá k přenesení jednoho nebo více commitů z jedné větve do druhé.
Princip fungování:
- Vybere specifikovaný commit (nebo commity) ve zdrojové větvi.
- Aplikuje změny obsažené v těchto commitech na aktuální aktivní větev.
- Vytvoří nové commity v aktuální větvi se stejnými změnami a zprávami jako původní.
Kdy použít:
- Přenesení konkrétní opravy chyby z jedné větve (například produkce) do jiné (například vývoj), aniž by se ovlivnily jiné změny.
- Aplikace změn z jedné feature větve do jiné, aniž by se je úplně sloučily.
- Zrušení nesprávných mergeů s ponecháním jednotlivých commitů.
Rozdíly od merge a rebase:
merge: Spojuje celou historii změn z jedné větve do druhé.rebase: Přepisuje historii commitů, přesouvá je na novou základnu.cherry-pick: Používá pouze vybrané commity, vytváří nové a nemění historii původních commitů.
Hlavní příkaz:
# Přenést jeden commit
git cherry-pick <commit-hash>
# Přenést více commitů (v pořadí jejich uvedení)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Příklad:
Předpokládejme, že jsou dvě větve: main a feature. Na větvi feature byl proveden commit fix-typo. Tento commit je třeba přenést do větve main.
# Přepnout na cílovou větev
git checkout main
# Spustit cherry-pick s hashem commitu z větve feature
git cherry-pick 7f3bca2 # Příklad hashe
Po provedení příkazu se ve větvi main objeví nový commit se stejnými změnami jako fix-typo, ale s jiným hashem.