Sobes.tech
Middle

Kam naudojama komanda git cherry-pick?

sobes.tech AI

Atsakymas iš AI

Pasirinktinai perkelti atskirus commit'us iš vienos šakos į kitą. Leidžia pasirinktinai taikyti konkrečiu commit'u pateiktus pakeitimus, nereikalaujant sujungti visos šakos.

Privalumai:

  • Izoliuotas pakeitimų taikymas.
  • Vengti konfliktų, kai perkeliate tik būtinus commit'us.
  • Išlaikyti šakų istorijos tvarkingumą.

Sintaksė:

git cherry-pick <commit-hash>

Galite nurodyti kelis commit'ų hash'us arba commit'ų diapazoną:

git cherry-pick <commit-1-hash> <commit-2-hash> ...
git cherry-pick <pradžios-hash>^..<pabaigos-hash>

Naudojimo pavyzdys:

Tarkime, yra feature šaka su A, B, C commit'ais ir develop šaka. Reikia perkelti tik B commit'ą į develop.

  1. Pereikite į develop šaką:
    git checkout develop
    
  2. Atlikite cherry-pick B commit'ui (tarkime, jo hash yra abcdef):
    git cherry-pick abcdef
    

Jei kyla konfliktų, juos reikia išspręsti, tada tęsti (git cherry-pick --continue) arba nutraukti (git cherry-pick --abort).

Alternatyvos:

  • git merge: Sujungia visas pakeitimus iš vienos šakos į kitą.
  • git rebase: Perkelia arba sujungia commit'ų seką į naują bazinį commit'ą.

git cherry-pick yra naudingas, kai reikia pasirinktinai perkelti klaidų taisymus ar mažus funkcinius pakeitimus tarp šakų.