DevOps junior

В чём разница: Merge vs Rebase в Git?

Ответ

Merge: создаёт коммит-слияние, история ветвится (видно, откуда пришли изменения). Rebase: перемещает коммиты на вершину целевой ветки, даёт линейную историю, но переписывает SHA коммитов — поэтому rebase в публичных ветках делать не стоит (переписывает историю).

Разбор: Merge создаёт коммит-слияние и сохраняет ветвящуюся историю, а rebase переносит коммиты на вершину базовой ветки, давая линейную историю и переписывая SHA коммитов — именно поэтому rebase опасен в публичных ветках. Ловушка в первом варианте — перепутаны роли merge и rebase. Rebase тоже может приводить к конфликтам и точно меняет хэши коммитов.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться