როგორ ხსნით კონფლიქტებს Git-ში?
sobes.tech AI
პასუხი AI-სგან
Pull ან rebase-ის დროს ცვლილებები ერთიანდება. თუ Git ვერ შეძლებს ავტომატურად გადაწყვიტოს ფაილში კონფლიქტური ხაზები, ის მათ სპეციალური მარკერებით აღნიშნავს:
<<<<<<< HEAD
მიმდინარე ფილიალის ხაზი
=======
შეერთების ფილიალის ხაზი
>>>>>>> feature/ახალი-ფუნქცია
კონფლიქტის გადაჭრისთვის:
-
გახსენით კონფლიქტში მყოფი ფაილი რედაქტორში.
-
ხელით ჩაასწორეთ ფაილი, აირჩიეთ ორივე ვერსიიდან საჭირო ნაწილები ან შექმენით ახალი კომბინაცია.
-
წაშალეთ
<<<<<<<,=======,>>>>>>>მარკერები. -
შეინახეთ ფაილი.
-
დაამატეთ გადაჭრილი ფაილი ინდექსში
git add-ით:# კონკრეტული ფაილის დამატება git add გზა/მიმდინარე/ფაილი.txt # ყველა გადაჭრილი ფაილის დამატება git add . -
შეასრულეთ commit, რათა დასრულდეს შერწყმა:
# შერწყმის დროს git commit -m "შერიგის კონფლიქტი გადაჭრილი" # rebase-ის დროს git rebase --continue
თუ კონფლიქტები ბევრი ან რთულია, შეგიძლიათ გამოიყენოთ შერწყმის ინსტრუმენტები:
git mergetool
ეს გახსნის გრაფიკულ ინსტრუმენტს, რომელიც დაგეხმარებათ ნაბიჯ-ნაბიჯ გადახედოთ კონფლიქტებს.
რეიბე-ის დროს თუ გაჩნდება სირთულეები, შეგიძლიათ გამოიყენოთ:
git rebase --abort: რეიბე-ის გაუქმება და წინა მდგომარეობაში დაბრუნება.git rebase --skip: მიმდინარე კონფლიქტური commit-ის გამოტოვება (რისკიანი შეიძლება იყოს).
მნიშვნელოვანია, რომ კონფლიქტების გადაჭრის შემდეგ ჩაატაროთ ტესტირება, რათა დარწმუნდეთ, რომ კოდი სწორად მუშაობს.