Git Squash Commit mitten in einer Filiale
Ich möchte mehrere Commits in der Mitte eines Zweigs zusammenpressen, ohne die Commits davor und danach zu ändern.
Ich habe
A -- B -- C -- D -- E -- F -- G
| |
master dev
origin/master
Ich möchte das in @ quetsch
A -- H -- E -- F -- G
| |
master dev
origin/master
WoH
ist äquivalent zuB -- C -- D
. Und ich möchte in der Lage sein, die Commit-Nachricht von @ anzugebH
. A
ist das letzte Festschreiben, das gesendet wurde, sodass alle nachfolgenden Festschreibungen neu geschrieben werden können, ohne den Server zu beschädigen. Die Idee ist, die Geschichte zu bereinigen, bevor ich vorspulemaster
.
Wie kann ich das machen
PS: Beachten Sie, dass ich in meinem Fall tatsächlich viel mehr als 3 Commits habe, um in der Mitte zu quetschen, aber wenn ich es mit 3 machen kann, sollte ich in der Lage sein, es mit mehr zu machen.
PPS: Außerdem würde ich, wenn möglich, eine Lösung vorziehen, bei derE
, F
undG
bleiben unberührt (hauptsächlich in Bezug auf das Festschreibungsdatum).