У меня была аналогичная проблема, которую я решил следующим образом:
Это группа коммитов, которую я хотел раздавить:
1 s 01cc5a08 Removes open div
2 s a2b6eecf Restores old fonts
3 s 603479ff Cleans left out div
4 pick 5afdbc33 Update: show logo on landing page
5 s 04c1cb13 change version of dev and prod from 1 to 2
6 s bbe6a8f8 Update: show logo on landing page if they have one
7 s c0d6008a Adds check for C users
Как видите, я не хотел. 4, но у 1, 2 и 3 не было предыдущего коммита, в который можно было бы сквошить . Следовательно, невозможно "сжать" без предыдущей ошибки фиксации .
Мое решение заключалось в использовании r
опции для# r, reword = use commit, but edit the commit message
Итак, мой список коммитов выглядел так:
1 r 01cc5a08 Removes open div
2 s a2b6eecf Restores old fonts
3 s 603479ff Cleans left out div
4 s 5afdbc33 Update: show logo on landing page
5 s 04c1cb13 change version of dev and prod from 1 to 2
6 s bbe6a8f8 Update: show logo on landing page if they have one
7 s c0d6008a Adds check for C users
После сохранения интерактивная оболочка попросила меня переформулировать выбранный коммит.
После этого мой журнал фиксации привел к единственной фиксации, которая привела к более чистой истории фиксации.