Junior
Co je cherry-pick v kontextu systémů správy verzí?
sobes.tech AI
Odpověď od AI
Git-ben a cherry-pick egy olyan művelet, amely lehetővé teszi, hogy egy adott commit változtatásait egy másik ágban alkalmazzuk. Ez akkor hasznos, ha egy adott javítást vagy funkciót szeretnénk átvinni egyik ágról a másikra anélkül, hogy az összes későbbi commitot át kellene vinni.
Alkalmazás:
- Commit kiválasztása: Meghatározzuk a commit hash értékét, amit "másolni" szeretnénk.
- Átváltás a célágra: Átváltunk arra az ágra, ahol a változtatásokat alkalmazni szeretnénk.
- A cherry-pick végrehajtása: A
git cherry-pick <commit-hash>parancs futtatása. A Git megpróbálja alkalmazni a kiválasztott commit változtatásait az aktuális ágon.
# Átváltás a célágra
git checkout main
# Változtatások alkalmazása az abcdef1 hash-ű commit-ből
git cherry-pick abcdef1
Lehetséges felhasználási forgatókönyvek:
- Hiba javítása egy régi kiadási ágon.
- Egy adott funkció átadása a fejlesztési ágról staging vagy production környezetbe.
- Változtatások visszavonása egy adott commit-ből (
-nopcióval és későbbgit revert-tel).
Különbségek a merge és rebase műveletekkel:
- A
mergeegyesíti egy ág összes változtatását egy másikkal. - A
rebaseátviszi egy ág összes commitját egy másik fölé. - A
cherry-pickcsak egy kiválasztott commitot visz át, és ugyanazokat a változtatásokat tartalmazó új commitot hoz létre a cél ágon.
Fontos megjegyezni, hogy a cherry-pick egy új commitot hoz létre, más hash-sel. Ez duplikálhatja a változtatásokat, ha ugyanaz a commit később más módon kerül összevonásra a cél ággal. Óvatosan használja, és értse meg a következményeket.