Sobes.tech
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 е полезен за поддържане на чиста история, но изисква внимание при работа с публични клонки, за да не пренапишете споделената история.