Для чего нужен base commit в rebase?
Слияние, rebase и конфликты
Base commit при rebase — общий предок вашей ветки и ветки, на которую вы ребейзите. Коммиты после него переносятся на новую базу.
Как это работает
main: A---B---C
\
feature: D---EBase commit здесь B. После git rebase main коммиты D и E пересоздаются поверх C:
main: A---B---C
\
feature: D'---E'Зачем он важен
- определяет, какие коммиты будут перенесены — все после base;
- в
git rebase --ontoбазу можно задать явно: перенести только часть коммитов на другую ветку:
git rebase --onto main old-base feature- найти его можно командой
git merge-base main feature.
Коротко для собеседования
Base commit — общий предок веток; rebase переносит все коммиты после него поверх новой базы, а --onto позволяет задать базу явно.
Подробнее: Pro Git — Перебазирование