Что такое squash в Git

Ответ

Squash в Git — это объединение нескольких коммитов в один. Часто используется перед мержем веток для упрощения истории.

Как сделать squash:

  1. Во время интерактивного ребейза:
git rebase -i HEAD~3  # объединяем последние 3 коммита

В редакторе заменить pick на squash (или s) для коммитов, которые нужно объединить.

  1. При мерже с флагом --squash:
git merge --squash feature-branch
git commit -m "Объединённый коммит"

Плюсы:

  • Чистая история коммитов
  • Удобно для фиксации законченного функционала

Минусы:

  • Теряется детальная информация о промежуточных изменениях