Zum Inhalt springen

Rebase

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 30.10.2026

Ein Rebase setzt die eigenen Commits auf einen anderen Stand neu auf. Statt zwei Stränge zusammenzuführen, nimmt Git jeden Commit des Zweigs einzeln und wendet ihn auf den neuen Ausgangspunkt an. Das Ergebnis ist eine gerade Linie.

Rebase

Das Neuaufsetzen eigener Commits auf einen anderen Stand.
Beispiel: „Vor dem Pull Request noch ein Rebase, damit die Geschichte gerade bleibt.“

Englisch to rebase heißt die Grundlage wechseln. Der Zweig bekommt einen neuen Ausgangspunkt.

Wichtig: Die Commits werden dabei **neu geschrieben**. Sie haben hinterher andere Prüfsummen, sind also technisch andere Commits mit demselben Inhalt.

Was ein Rebase gegenüber einem Merge ändert

Zwei Hälften nebeneinander. Links gabelt sich die Hauptlinie, zwei Commits laufen oberhalb weiter und kommen in einem Merge-Commit zusammen. Rechts dieselbe Arbeit als eine einzige gerade Linie, an deren Ende die beiden Commits neu aufgesetzt sind.
Wer später nachvollziehen muss, wann zwei Stränge zusammenkamen, braucht die linke Form.

Die Geschichte. Im Arbeitsverzeichnis steht am Ende beidemal dasselbe; unterschiedlich ist nur, was später darüber zu lesen ist. Der Merge zeigt die Gabel, der Rebase zeigt eine Reihe.

Welches besser ist, hängt davon ab, was die Geschichte leisten soll. Wer später nachvollziehen will, welche Commits zu welcher Aufgabe gehörten, braucht die Gabel. Wer eine lesbare Reihe will, nimmt den Rebase.

Warum ein Rebase auf gemeinsamen Zweigen gefährlich ist

Weil die alten Commits verschwinden und durch neue ersetzt werden. Wer den Zweig schon geholt hat, hat die alten; beim nächsten Holen passen beide Geschichten nicht mehr zusammen.

Daraus folgt die verbreitete Regel: Rebase nur auf Zweigen, die niemand sonst benutzt. Danach braucht es einen Force Push, und auch der ist dort unbedenklich.

Was ein Rebase sonst noch kann

In seiner interaktiven Form ist er das Aufräumwerkzeug: Commits zusammenfassen, Nachrichten nachbessern, die Reihenfolge ändern oder einen Commit ganz herausnehmen.

Das ist der Grund, warum viele Teams ihn vor dem Pull Request verlangen. Aus fünfzehn Zwischenständen mit Nachrichten wie „fix“ werden drei Commits, die ein Mensch lesen kann.

Siehe auch:

Merge

Das Zusammenführen zweier Stränge der Geschichte zu einem.

#Deployment & Versionierung

Branch

Ein eigener Strang der Geschichte, auf dem gearbeitet wird, ohne den Hauptstand zu berühren.

#Deployment & Versionierung

Commit

Ein festgehaltener Stand des Projekts, mit Zeitpunkt, Urheber und Begründung.

#Deployment & Versionierung

Merge-Konflikt

Die Stelle, an der Git nicht entscheiden kann, welche von zwei Änderungen gilt.

#Deployment & Versionierung

Force Push

Ein Push, der den Stand auf dem Remote überschreibt, statt daran anzuschließen.

#Deployment & Versionierung

Pull Request

Die Bitte, einen Branch in den gemeinsamen Stand zu übernehmen, samt Ort für die Durchsicht.

#Deployment & Versionierung