n1ro°
RU

Компьютеры · Инструкция

Как объединить несколько коммитов Git в один

Интерактивный rebase переписывает историю, поэтому до публикации он безопаснее, чем после общего push.

Редакция N1RO · Проверено

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

Для последних коммитов используйте `git rebase -i HEAD~N`: первый оставьте `pick`, следующие пометьте `squash` или `fixup`.

Что делать

  1. Проверьте `git status` и сохраните незакоммиченные изменения.
  2. Запустите `git rebase -i HEAD~4` для четырёх последних коммитов.
  3. Оставьте первый `pick`, остальные смените на `squash`/`fixup` и сохраните todo.
  4. Проверьте `git log --oneline -5`; если история уже опубликована, используйте только согласованный `--force-with-lease`.

Проверка результата

  • В git log вместо выбранной серии виден один итоговый commit.
  • git status чистый, а опубликованная общая ветка не переписана без согласования.

Важно

Rebase меняет SHA коммитов; не переписывайте общую ветку без согласования.

Что учитывать

Rebase меняет SHA коммитов; не переписывайте общую ветку без согласования.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. git-rebase Documentation). Пример и формулировки — редакция N1RO на 2026-09-17.