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-ის გამოყენება საჯარო ფილიალებზე არ არის რეკომენდებული, რადგან ეს იცვლება ისტორიას და შეიძლება გამოიწვიოს კონფლიქტები სხვა დეველოპერებში.