Sobes.tech
Middle

git cherry-pick ბრძანება რა მიზნით გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

სწორედ commit-ების ერთ-ერთი გადატანა ერთი ფილიალიდან მეორე ფილიალზე. ეს საშუალებას აძლევს კონკრეტული commit-ის მიერ წარმოდგენილი ცვლილებების შერჩევით განხორციელებას, მთელი ფილიალის გაერთიანების გარეშე.

უპირატესობები:

  • ცვლილებების იზოლირებული გამოყენება.
  • მხოლოდ საჭირო commit-ების გადატანით გაერთიანების კონფლიქტების თავიდან აცილება.
  • ფილიალების ისტორიის სისუფთავის შენარჩუნება.

სინტაქსი:

git cherry-pick <commit-hash>

შეგიძლიათ მიუთითოთ რამდენიმე commit-ის ჰეშები ან commit-ის დიაპაზონი:

git cherry-pick <commit-1-hash> <commit-2-hash> ...
git cherry-pick <დაწყების-hash>^..<დასასრულის-hash>

გამოყენების მაგალითი:

შესაძლოა, იყოს feature ფილიალი A, B, C commit-ებით და develop. საჭიროა მხოლოდ B commit-ის გადატანა develop-ზე.

  1. გადადით develop ფილიალზე:
    git checkout develop
    
  2. შეასრულეთ cherry-pick B commit-ისთვის (განსაზღვრეთ, რომ მისი ჰეშია abcdef):
    git cherry-pick abcdef
    

თუ კონფლიქტები წარმოიშვება, უნდა გადაწყვიტოთ ისინი და შემდეგ გააგრძელოთ (git cherry-pick --continue) ან გააუქმოთ (git cherry-pick --abort).

სხვა ალტერნატივები:

  • git merge: ყველა ცვლილების გაერთიანება ერთი ფილიალიდან სხვა-ში.
  • git rebase: გადატანა ან გაერთიანება კომიტების სერიის ახალი ბაზის კომიტზე.

git cherry-pick სასარგებლოა, როდესაც საჭიროა შეცდომების გამოსწორებები ან მცირე ფუნქციონალური ცვლილებები შერჩევით გადატანა ფილიალებს შორის.