«Сквошинг» и «сохранение истории» - это приблизительно прямые противоположности в терминологии.
Если вы имеете в виду, что вы хотите сделать один коммит, включающий только ваши изменения, а не внесенные в основной поток, то вы бывероятно, захотите rebase
на origin / master, а затем раздавить оттуда.Вы можете сделать все это из одного вызова интерактивной перебазировки:
git fetch origin
git rebase -i origin/master
, а затем изменить все строки после первой с pick
на squash
.