Sobes.tech
Junior

Ինչ է cherry-pick-ը տարբերակների կառավարման համակարգերում:

sobes.tech AI

Պատասխան AI-ից

Git- ում cherry-pick այն գործողությունն է, որը թույլ է տալիս կիրառել որոշակի commit- ի փոփոխությունները մյուս ճյուղում: Սա օգտակար է, երբ անհրաժեշտ է որոշակի ուղղումներ կամ ֆունկցիաներ փոխանցել մեկ ճյուղից մյուսը՝ առանց բոլոր հաջորդական commit-ների փոխանցման:

Օգտագործում:

  1. Commit- ի ընտրություն՝ որոշվում է commit-ի hash-ը, որը ցանկանում եք "կոպիել":
  2. Գնալ նպատակային ճյուղ՝ անցում կատարելով այն՝ որտեղ պետք է կիրառվեն փոփոխությունները:
  3. Cherry-pick գործարկում՝ git cherry-pick <commit-hash> հրամանի միջոցով։ Git-ը կփորձի կիրառել ընտրված commit- ի փոփոխությունները ընթացիկ ճյուղում:
# Գնալ նպատակային ճյուղ
git checkout main

# Կիրառել փոփոխությունները commit- ից, hash-ով abcdef1
git cherry-pick abcdef1

Կիրառման հնարավոր սցենարներ՝

  • Հին թողարկման ճյուղում սխալի ուղղում:
  • Մեկ ֆունկցիայի փոխանցում զարգացման ճյուղից staging կամ արտադրական ճյուղ:
  • Փոփոխությունների վերականգնում՝ որոշակի commit- ից (-n ընտրությամբ և հետո git revert-ով):

Տարբերություններ merge և rebase- ի հետ:

  • merge միավորում է երկու ճյուղերի բոլոր փոփոխությունները:
  • rebase տեղափոխում է բոլոր commit-ները մեկ ճյուղից մյուսը:
  • cherry-pick փոխանցում է միայն ընտրված commit- ը՝ ստեղծելով նոր commit՝ նույն փոփոխություններով:

Կարևոր է հիշել, որ cherry-pick-ը ստեղծում է նոր commit՝ նոր hash-ով: Սա կարող է հանգեցնել փոփոխությունների կրկնօրինակում՝ եթե նույն commit- ը հետագայում միացվի այլ կերպ՝ նպատակային ճյուղում: Պետք է օգտագործել զգուշությամբ և հասկանալ հետևանքները։