Sobes.tech
Junior

Mi az a cherry-pick a verziókezelő rendszerek kontextusában?

sobes.tech MI

Válasz az MI-től

A cherry-pick a Git-ben egy olyan művelet, amely lehetővé teszi, hogy egy adott commit változtatásait egy másik branch-re alkalmazzuk. Ez akkor hasznos, ha egy adott javítást vagy funkciót szeretnénk átvinni egyik branch-ről a másikra anélkül, hogy az összes későbbi commitot át kellene vinni.

Alkalmazás:

  1. Commit kiválasztása: Meghatározzuk a commit hash értékét, amit "másolni" szeretnénk.
  2. Átváltás a cél branch-re: Átváltunk arra a branch-re, ahol a változtatásokat alkalmazni szeretnénk.
  3. 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 branch-re.
# Átváltás a cél branch-re
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 branch-en.
  • Egy adott funkció átadása a fejlesztési branch-ről staging vagy production környezetbe.
  • Változtatások visszavonása egy adott commit-ből (-n opcióval és később git revert-tel).

Különbségek a merge és rebase műveletekkel:

  • A merge egyesíti egy branch összes változtatását egy másikba.
  • A rebase átviszi egy branch összes commitját egy másik branch fölé.
  • A cherry-pick csak egy kiválasztott commitot visz át, és ugyanazokat a változtatásokat tartalmazó új commitot hoz létre a cél branch-en.

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 branch-el. Óvatosan használja, és értse meg a következményeket.