Sobes.tech
Junior — Middle

გთხოვთ, ახსენით 'git rebase' ბრძანების მუშაობის პრინციპი და რა განსხვავებაა მას 'git merge'-თან.

sobes.tech AI

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

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

განსხვავებები git merge-თან:

  • git merge აერთიანებს ფილიალებს ქმნის ახალი merge-კომიტით, ინახავს ორივე ფილიალის ისტორიას.
  • git rebase გადაწერს ისტორიას, გადაადგილებს კომიტებს, რაც ხდის ისტორიას უფრო სუფთას და სწორს.

მაგალითი:

git checkout feature
# გადავდივართ feature ფილიალს მიმდინარე master-ის ბაზაზე
 git rebase master

ამის შემდეგ, feature-ის კომიტები იფიქრება, როგორც შექმნილი იყოს ბოლო commit-ის თავზე, რომელიც არის master-ზე.

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