Zum Inhalt springen

Merge-Konflikt

oder auch Merge Conflict

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-Konflikt ist die Stelle, an der Git nicht entscheiden kann, welche von zwei Änderungen gilt. Er entsteht, wenn zwei Stränge dieselbe Zeile verschieden geändert haben. Git bricht dann ab, markiert die Stelle in der Datei und überlässt die Entscheidung einem Menschen.

Merge-Konflikt

Die Stelle, an der Git nicht entscheiden kann, welche von zwei Änderungen gilt.
Beispiel: „Der Merge-Konflikt betraf drei Zeilen in derselben Vorlage.“

Auch: Konflikt, Merge Conflict. Er ist kein Fehler, sondern der vorgesehene Ablauf: Git fragt zurück, statt zu raten.

Betroffen sind auch Fälle ohne gleiche Zeile, etwa wenn eine Seite eine Datei löscht und die andere sie ändert.

Wie ein Merge-Konflikt in der Datei aussieht

Git schreibt beide Fassungen untereinander in die Datei und trennt sie durch Markierungen. Oben steht, was auf deiner Seite stand, unten, was von der anderen kommt, dazwischen eine Trennlinie.

Deine Aufgabe ist, daraus eine Fassung zu machen und die Markierungen zu entfernen. Bleiben sie stehen, landen sie im Commit, und spätestens die Build-Pipeline fällt darüber.

Warum ein Merge-Konflikt selten technisch ist

Weil die Frage, welche Fassung gilt, fast immer inhaltlich ist. Zwei Leute haben dieselbe Stelle verschieden gelöst, und eine der beiden Lösungen ist besser, oder es braucht eine dritte.

Deshalb löst man einen Konflikt nicht allein, wenn man die andere Seite nicht versteht. Eine Rückfrage kostet fünf Minuten, eine falsch aufgelöste Stelle kostet die Fehlersuche von nächster Woche.

Wie man Merge-Konflikte klein hält

Drei Dinge helfen, und alle drei sind Gewohnheiten. Kurze Branches, weil wenig Zeit wenig Gelegenheit zum Auseinanderlaufen lässt. Täglich den Hauptstand hereinholen, damit ein Konflikt klein auftritt statt groß. Und abgegrenzte Aufgaben, damit nicht zwei Leute an derselben Datei sitzen.

Was nicht hilft, ist ein Force Push über den Konflikt hinweg. Er entscheidet den Konflikt heimlich zugunsten einer Seite, statt ihn auszuräumen.

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

Rebase

Das Neuaufsetzen eigener Commits auf einen anderen Stand.

#Deployment & Versionierung

Pull (Git)

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

#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