Sobes.tech
Junior — Middle

Paaiškinkite 'git rebase' komandos veikimo principą ir kuo ji skiriasi nuo 'git merge'.

sobes.tech AI

Atsakymas iš AI

Komanda git rebase leidžia perkelti šaką virš kitos, perrašant commitų istoriją taip, tarsi pakeitimai būtų atlikti naujoje šakoje. Tai padeda gauti linijinę istoriją be papildomų sujungimo commitų.

Skirtumai nuo git merge:

  • git merge sujungia šakas sukurdama naują sujungimo commitą, išsaugodama abiejų šakų istoriją.
  • git rebase perrašo istoriją, perkeldamas commitus, todėl istorija tampa švaresnė ir linijiška.

Pavyzdys:

git checkout feature
# Perkeliame feature šaką į naujausią master
 git rebase master

Po to, feature commitai atrodys tarsi jie būtų sukurti virš paskutinio master commit'o.

Svarbu: nerekomenduojama daryti rebase viešose šakose, nes tai keičia istoriją ir gali sukelti konfliktų kitiems kūrėjams.