SobesLab логотип SobesLab

Ответ

Команда git rebase -i HEAD~3 запускает интерактивный rebase для последних 3 коммитов (от текущей HEAD до HEAD~3). Откроется текстовый редактор со списком этих коммитов, где вы можете изменить порядок, объединить коммиты (squash), изменить сообщения или пометить коммиты на удаление. После сохранения Git перепроиграет эти коммиты поверх той же базы, но уже в изменённом виде. Результатом будет новая история (коммиты с новыми SHA). Риски: интерактивный rebase переписывает историю, поэтому, если эти коммиты уже были отправлены на общий репозиторий, переписывание истории потребует форсированного push (git push --force) и может привести к проблемам у коллег (конфликт истории, дубли коммитов). Ещё риск — при неправильном использовании можно случайно потерять коммиты (например, пометив лишнее на drop). Также при rebase возможны конфликты слияния, если изменяемые коммиты пересекаются по файлам с базовой веткой. Общий совет: интерактивный rebase удобен для очистки локальной истории перед пушем (например, слить "грязные" коммиты в логичные), но им не стоит пользоваться на уже опубликованных коммитах, чтобы не нарушать историю в удалённом репозитории.