Zum Inhalt springen

Merge

oder auch Zusammenführen

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 Merge führt zwei Stränge der Geschichte zu einem zusammen. Git sucht dafür den letzten gemeinsamen Punkt, vergleicht beide Seiten und setzt das Ergebnis in einen neuen Commit, der zwei Vorgänger hat.

Merge

Das Zusammenführen zweier Stränge der Geschichte zu einem.
Beispiel: „Der Merge des Branches in den Hauptstand lief ohne Konflikt durch.“

Auch: Zusammenführung. Der entstehende Commit heißt Merge-Commit und ist der einzige, der zwei Vorgänger hat.

Laufen die Änderungen in verschiedenen Dateien oder an verschiedenen Stellen, erledigt Git das allein. Treffen sie sich in derselben Zeile, entsteht ein Merge-Konflikt.

Was ein Merge in der Geschichte hinterlässt

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.

Eine sichtbare Gabel. Man erkennt später, dass hier zwei Stränge nebeneinander liefen und wann sie wieder zusammenkamen. Das ist der Vorzug und zugleich der Vorwurf: Bei vielen kleinen Merges wird die Geschichte unübersichtlich.

Der Rebase ist die Gegenposition. Er erzeugt eine gerade Linie und gibt dafür die Information auf, dass parallel gearbeitet wurde.

Wann ein Merge ohne Merge-Commit auskommt

Wenn der Hauptstand sich seit der Abzweigung nicht bewegt hat. Dann reicht es, den Zeiger nach vorn zu schieben; es entsteht kein zusätzlicher Commit und keine Gabel. Dieser Fall heißt Fast-Forward.

Viele Projekte erzwingen dennoch einen Merge-Commit, damit im Nachhinein sichtbar bleibt, welche Commits zu welcher Aufgabe gehörten.

Was beim Merge schiefgehen kann

Das Offensichtliche sind Konflikte. Das Unangenehmere ist der Merge, der technisch sauber durchläuft und trotzdem kaputt ist: Zwei Änderungen berühren verschiedene Stellen, passen inhaltlich aber nicht zusammen. Git kann das nicht sehen, Tests schon.

Deshalb gehört zu jedem Merge in einen gemeinsamen Stand ein Durchlauf der Build-Pipeline und nicht nur ein Blick auf die Datei.

Siehe auch:

Branch

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

#Deployment & Versionierung

Merge-Konflikt

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

#Deployment & Versionierung

Rebase

Das Neuaufsetzen eigener Commits auf einen anderen Stand.

#Deployment & Versionierung

Commit

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

#Deployment & Versionierung

Pull Request

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

#Deployment & Versionierung

Pull (Git)

Das Holen des Remote-Stands mit anschließendem Zusammenführen.

#Deployment & Versionierung