Git Rebase და Branch გადართვა

Rebase

Rebase არის ფილიალის საკომისიოს ისტორიის შეცვლის პროცესი სხვა ფილიალიდან დავალებების გამოყენებით. merge ცვლილებების შერწყმის ნაცვლად, rebase საშუალებას გაძლევთ შეიყვანოთ insert ახალი ვალდებულებები მიმდინარე ფილიალის ჩადენის ისტორიაში შერწყმის დავალებების შექმნის გარეშე.

მაგალითად, ვთქვათ თქვენ გაქვთ ორი ფილიალი: feature-branch და main. თქვენ მუშაობთ feature-branch და გსურთ გამოიყენოთ უახლესი ვალდებულებები main თქვენს ამჟამინდელ ფილიალში. ამის მისაღწევად შეგიძლიათ გამოიყენოთ rebase:

git checkout feature-branch  
git rebase main  

როდესაც ამ ბრძანებას აწარმოებთ, Git მიიღებს ვალდებულებებს main და გამოიყენებს მათ feature-branch. ეს ნიშნავს, რომ ყველა ვალდებულება feature-branch გამოჩნდება შემდეგიდან main. შედეგი არის უფრო სუფთა და წაკითხული ჩადენის ისტორია feature-branch.

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

 

Branch გადართვა

ფილიალების გადართვა Git-ში გულისხმობს ერთი შტოდან მეორეზე გადასვლის პროცესს. როდესაც თქვენ ცვლით ფილიალებს, Git გადააქვს HEAD მაჩვენებელს ახალ ფილიალში, რაც საშუალებას გაძლევთ იმუშაოთ ამ ფილიალზე და განახორციელოთ ცვლილებები სხვა ფილიალებზე გავლენის გარეშე.

მაგალითად, ვთქვათ თქვენ გაქვთ ფილიალები feature-branch და main. ზე გადასართავად feature-branch გამოიყენეთ შემდეგი ბრძანება:

git checkout feature-branch

ფილიალების გადართვის შემდეგ, შეგიძლიათ ცვლილებები შეიტანოთ სამუშაო დირექტორიაში. ყველა commit, add, და checkout ბრძანება ვრცელდება მიმდინარე ფილიალზე.

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