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:
mergesobib kogu ajaloo säilitamiseks ja kui harude läbipaistvus on oluline.rebaseon 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.