Sobes.tech
Junior — Middle

Selgitage, milline on erinevus git rebase ja git merge käskude kasutamisel muudatuste integreerimisel harudesse.

sobes.tech AI

Vastus AI-lt

git merge ja git rebase on kaks viisi, kuidas integreerida muudatusi ühest harust teise, kuid need töötavad erinevalt:

  • git merge loob uue ühendamise commit'i, mis ühendab mõlema haru ajalugu. Ajalugu säilitab kõik harud ja commit'id, pakkudes täielikku pilti arendusest.

  • git rebase liigutab praeguse haru commit'id teise haru peale ja kirjutab ajaloo uuesti. See muudab ajaloo lineaarsemaks ja puhtamaks, kuid muudab commit'ide hash'e.

Näide:

# merge
git checkout feature
git merge main

# rebase
git checkout feature
git rebase main

Millal kasutada:

  • merge sobib kogu ajaloo säilitamiseks ja kui harude läbipaistvus on oluline.
  • rebase on kasulik ajaloo lihtsustamiseks enne peamise haruga ühendamist, vältides tarbetuid merge'ide commit'e.

Oluline: ei soovitata teha rebase'i avalikel harudel, kuna see muudab ajaloo ja võib põhjustada konflikte teiste arendajate seas.