Der sicherste und wahrscheinlich sauberste Weg ist das interaktive Rebase.
git rebase -i HEAD^^
Oder,
git rebase -i baf8d5e7da9e41fcd37d63ae9483ee0b10bfac8e^
Von dort aus können Sie Commits zerquetschen, wodurch ein oder mehrere Commits zum vorherigen Commit zusammengefügt werden. Um einen Commit vollständig aus der Historie zu löschen, löschen Sie die Zeile aus der Liste.
Mit git revert
können Sie einen Commit rückgängig machen, aber dadurch werden weitere Commit-Nachrichten in die Historie aufgenommen, was unerwünscht sein kann. Verwenden Sie den Parameter -n
, um Git mitzuteilen, dass es die Rückgängigmachung nicht sofort rückgängig machen soll. Sie können interaktiv eine neue Basis erstellen und diese bis zu einem vorherigen Commit zusammendrücken, um die Dinge sauber zu halten.
Wenn die beiden Commits, mit denen Sie hier arbeiten, die gleiche(n) Datei(en) betreffen, sehen Sie möglicherweise einen Zusammenführungskonflikt.
Das Zurücksetzen des Repositorys mit git reset --hard
sollte mit Vorsicht erfolgen, da es nicht rückgängig gemacht werden kann.
Das Neuschreiben der Historie sollte mit Vorsicht erfolgen.