Bearbeiten Sie den Verlauf mit einer interaktiven Rebase
Bei einem interaktiven Rebase werden die Commits über einem ausgewählten neu geschrieben: Behalten, umformulieren, bearbeiten, komprimieren, korrigieren oder löschen und sie in eine neue Reihenfolge ziehen, z. B. git rebase -i. Bei einer einzelnen Änderung führt Edit History im Menü eines Commits dies in einem Schritt aus.
Funktioniert in GitTree Kostenlos: alle lokalen Git-Funktionen, sobald Sie angemeldet sind.
Auf dieser Seite
Bevor Sie beginnen
- Die neu zu schreibenden Commits befinden sich in Ihrem aktuellen Zweig, es gibt keinen Merge-Commit zwischen ihnen.
- Bevorzugen Sie Commits, die Sie nicht gepusht haben: Umgeschriebene Commits erhalten neue IDs.
Wo es zu finden ist
- Klicken Sie mit der rechten Maustaste auf den Commit direkt unter den zu ändernden: Edit History › Interactive Rebase of the Commits Above….
- Einstufige Bearbeitungen im selben Edit History-Menü: Edit Commit Message…, Drop Commit…, Move Commit Up und Move Commit Down.
- Wählen Sie mehrere Commits aus und klicken Sie dann mit der rechten Maustaste: Squash Commits….
| Aktion | macOS | Windows und Linux |
|---|---|---|
| Undo das gesamte Rebase | ⌘Z | Ctrl+Z |
Schritte
Öffnen Sie den Editor
Klicken Sie mit der rechten Maustaste auf das Commit unter den zu ändernden Commits und wählen Sie Edit History › Interactive Rebase of the Commits Above…. Der älteste Commit steht ganz oben, in der Reihenfolge, in der er wiedergegeben wird.

Jeder Schritt hat eine Aktion; Hier wird ein Commit in den obigen gequetscht und ein anderer umformuliert.GitTree-Schnittstelle mit einem Demonstrations-Repository. Wählen Sie für jedes Commit eine Aktion aus
Setzen Sie Action bei jedem Schritt: Pick behält es, Reword ändert seine Nachricht, Edit stoppt dort, damit Sie es ändern können, Squash und Fixup fügen es in den obigen Commit ein, Drop lässt es weg.
Bei Bedarf nachbestellen
Ziehen Sie einen Schritt an seinem Ziehpunkt oder fokussieren Sie ihn und drücken Sie Alt+Corporate oder Alt+↓. Buchstaben funktionieren auch: p, r, e, s, f und d legen die Aktionen fest.
Starten Sie den Rebase
Drücken Sie Start Rebase. Wenn sich einige Commits bereits auf einer Fernbedienung befinden, bestätigen Sie zunächst, dass sie neu geschrieben werden. GitTree sagt Rebase finished. Undo can put the branch back.
Erwartetes Ergebnis
Der Zweig enthält die neu geschriebenen Commits mit neuen IDs. Der alte Zweig wird unter refs/ogt/trash aufbewahrt.
Was jede Aktion bewirkt
| Aktion | Ergebnis |
|---|---|
| Pick | Der Commit bleibt so wie er ist. |
| Reword | Gleiche Änderungen, neue Nachricht, die Sie im Editor eingeben. |
| Edit | Das Rebase stoppt nach diesem Commit, sodass Sie es ändern und dann vom Banner aus fortfahren können. |
| Squash | In den Commit oben eingefügt; Die Nachrichten werden zusammengefasst. |
| Fixup | In den Commit oben eingefügt; seine eigene Nachricht wird verworfen. Fixup, use its message behält stattdessen die Nachricht dieser Person. |
| Drop | Aus der Filiale ausgeschlossen. |
Wenn etwas schief geht
„Diese Commits beinhalten eine Zusammenführung, daher können sie hier nur angezeigt und nicht umgeschrieben werden.“
Interaktives Rebase in GitTree schreibt nur den linearen Verlauf neu. Beginnen Sie mit einem Commit oberhalb der Zusammenführung.
„Schritt … quetscht sich ins Nichts: Verschieben Sie ihn unter einen gehaltenen Commit.“
Ein Squash oder Fixup benötigt einen darüber liegenden Commit, in den er eingefügt werden kann. Verschieben Sie es oder ändern Sie den ersten Schritt in „Auswählen“.
Fragen
Wie verwandle ich mehrere Commits in einen?
Wählen Sie sie im Diagramm aus und wählen Sie Squash Commits…: Der Squash-Dialog zeigt zuerst das Ergebnis, die Nachricht und die Co-Autoren. Oder setzen Sie jeden Commit nach dem ersten im Editor auf Squash oder Fixup.