Junior — Middle
Kako razlikovati komande git rebase i git merge i u čemu su njihove glavne razlike?
sobes.tech АИ
Одговор од АИ
git merge и git rebase су два различита командни за интеграцију промена из једне гране у другу, али раде на различите начине.
-
git merge креира нови комит спајања који уједињује историју обе гране, одржавајући њихов паралелни развој. Историја остаје разграната, јасно показујући када и како је дошло до спајања.
-
git rebase "преписује" историју, померајући ваше локалне комитове преко друге гране, стварајући линијску историју без комитова спајања. Ово поједностављује историју, али мења хешеве комитова.
Главне разлике:
- Merge одржава разгранату историју, rebase чини историју линијском.
- После rebase-а, треба бити опрезан са јавним гранама, јер се историја преписује.
- Merge је једноставнији и безбеднији за тимски рад.
Пример:
# merge
git checkout feature
git merge main
# rebase
git checkout feature
git rebase main
У првом случају, појавиће се комит спајања, у другом, ваши комити ће бити "пренесени" на врх main.