Java Core trainee

В чём разница merge и rebase?

Ответ

merge сохраняет историю как есть — создаёт merge-коммит, объединяющий ветки, и виден факт слияния. rebase «перематывает» твои коммиты поверх свежей основной ветки — история линейная, без merge-коммитов, но хеши коммитов переписываются, поэтому rebase нельзя применять к уже опубликованным коммитам.

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

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

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