Miałem podobny problem, który rozwiązałem w następujący sposób:
Oto grupa commitów, którą chciałem zgnieść:
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
Jak widać, nie chciałem. 4, ale 1, 2 i 3 nie miały wcześniejszego zobowiązania do zgniatania . Stąd nie można „zmiażdżyć” bez poprzedniego błędu zatwierdzenia .
Moim rozwiązaniem było skorzystanie z r
opcji for# r, reword = use commit, but edit the commit message
Więc moja lista commits wyglądała tak:
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
Po zapisaniu interaktywna powłoka poprosiła mnie o przeformułowanie wybranego zatwierdzenia.
Po tym mój dziennik zatwierdzeń spowodował pojedyncze zatwierdzenie, co spowodowało czystszą historię zmian.