Объясните принцип работы команды rebase в системе контроля версий Git и в чем её отличие от merge.

Команда git rebase используется для переноса или «переписывания» серии коммитов на новую базу, то есть на другой коммит.

Короткий ответ

Что ответить на собеседовании

Команда git rebase используется для переноса или «переписывания» серии коммитов на новую базу, то есть на другой коммит. Она позволяет взять изменения из одной ветки и «переиграть» их поверх другой ветки, создавая линейную историю без дополнительных merge-коммитов.

Подробный разбор

Ответ с пояснениями

Команда git rebase используется для переноса или «переписывания» серии коммитов на новую базу, то есть на другой коммит. Она позволяет взять изменения из одной ветки и «переиграть» их поверх другой ветки, создавая линейную историю без дополнительных merge-коммитов.

Отличия от git merge:

  • git merge объединяет две ветки, создавая новый коммит слияния, который сохраняет историю обеих веток с ветвлениями.
  • git rebase переносит коммиты одной ветки на вершину другой, переписывая историю и делая её линейной.

Пример:

Если у вас есть ветка feature, ответвлённая от master, и master обновился, то:

  • git merge master в feature создаст merge-коммит, объединяющий изменения.
  • git rebase master в feature переместит ваши коммиты поверх актуального master, как будто вы начинали работу с последнего состояния master.

Rebase удобен для поддержания чистой истории, но требует осторожности при работе с публичными ветками, чтобы не переписывать общую историю.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее