В этой ситуации Git не знает разницы между коммитом на master
того типа, который вы хотите (сквош слияния) и тем, который вам не нужен (все остальное). На самом деле не существует способа сделать это с простым Git, хотя различные хостинговые платформы (например, GitHub и GitLab) предлагают это в качестве опции для запросов извлечения.
Однако, есть обходной путь. Вы можете создать еще одну ветвь (скажем, master-merge
), запустив git checkout -B master-merge master
и выполнить там сквош, а затем перемотать вперед до master
, используя git merge --ff-only master-merge
, находясь на master
. Тогда никакие фактические коммиты не выполняются на master
, только быстрые форварды.