Sobes.tech
Junior

Mis on cherry-pick versioonihaldussüsteemides?

sobes.tech AI

Vastus AI-lt

Git-is on cherry-pick operatsioon, mis võimaldab rakendada konkreetse commit'i muudatusi teises haru. See on kasulik, kui soovite üle kanda teatud parandusi või funktsioone ühest harust teise, ilma et peaks kogu järgnevaid commit'eid üle kandma.

Rakendamine:

  1. Commit'i valimine: määratakse commit'i hash, mida soovite "kopeerida".
  2. Liikumine sihtharusse: me liigume harusse, kuhu muudatused tuleb rakendada.
  3. Cherry-pick'i täitmine: käivitatakse käsk git cherry-pick <commit-hash>. Git püüab rakendada valitud commit'i muudatused praegusele harule.
# Liikumine sihtharusse
git checkout main

# Muudatuste rakendamine commit'ist hash-iga abcdef1
git cherry-pick abcdef1

Võimalikud kasutusstsenaariumid:

  • Vana väljaandmise haru vea parandamine.
  • Üksiku funktsiooni ülekanne arendusest stagingusse või tootmisse.
  • Muudatuste tagasivõtmine kindlast commit'ist (-n valik ja seejärel git revert).

Erinevused merge ja rebase'iga:

  • merge ühendab kõik muudatused ühest harust teise.
  • rebase viib kõik commit'id ühest harust teise.
  • cherry-pick viib ainult valitud commit'i, luues uue commit'i sama muudatustega.

Oluline on meeles pidada, et cherry-pick loob uue commit'i uue hash'iga. See võib põhjustada muudatuste dubleerimist, kui sama commit hiljem ühendatakse muul viisil sihtharuga. Kasutage seda ettevaatusega ja mõistke tagajärgi.