Junior — Middle
Обяснете принципа на работа на командата rebase в системата за контрол на версиите Git и какво я отличава от merge.
sobes.tech AI
Отговор от AI
Командата git rebase се използва за преместване или 'пренаписване' на серия от комити върху нова база, тоест върху друг комит. Тя позволява да вземете промените от една клонка и да ги 'репликирате' върху друга, създавайки линейна история без допълнителни merge-комити.
Разлики с git merge:
- git merge обединява две клонки, създавайки нов merge-комит, който запазва историята и на двете клонки с разклонения.
- git rebase пренася комитите на една клонка върху върха на друга, пренаписвайки историята и я прави линейна.
Пример:
Ако имате клонка feature, излязла от master, и master е обновен, тогава:
git merge masterв feature ще създаде merge-комит, който обединява промените.git rebase masterв feature ще премести вашите комити върху актуалното състояние на master, сякаш сте започнали работа от последното състояние на master.
Rebase е полезен за поддържане на чиста история, но изисква внимание при работа с публични клонки, за да не пренапишете споделената история.