Схлопывание коммитов осуществляется с помощью интерактивного режима
git rebase -i
и опции
--squash
переводится как тыква (что символично =) ).
Так же можно пойти по методу из хабростатьи:
git merge feature --squash объединит изменения всех коммитов ветки feature, перенесет их в ветку master и добавит в индекс. При этом коммит слияния не будет создан, вам нужно будет сделать его вручную.
Такого же поведения без параметра squash можно добиться, передав при слиянии параметр --no-commit.
https://habrahabr.ru/post/195674/