Merge-Konflikt in Git beheben

Artikel Bild

Merge-Konflikte passieren öfter als man denkt. Zwei Entwickler ändern dieselbe Datei, Git weiß nicht welche Version richtig ist. Das Projekt steht still.

Schritt 1: Konflikt identifizieren

Nach dem Merge-Versuch zeigt Git die betroffenen Dateien an. Die Ausgabe sieht ungefähr so aus: „CONFLICT (content): Merge conflict in app.js". Diese Dateien müssen bearbeitet werden.

Schritt 2: Konfliktmarker verstehen

Git markiert die Problemstellen mit speziellen Zeichen. Zwischen „<<<<<<< HEAD" und „=======" steht die aktuelle Version. Zwischen „=======" und „>>>>>>> branch-name" die eingehende Änderung.

Schritt 3: Entscheidung treffen

Hier wird es konkret. Entweder eine Version komplett übernehmen oder beide Änderungen manuell kombinieren. Bei einer Preisberechnung beispielsweise müssen beide Formeln verglichen werden.

Schritt 4: Marker entfernen

Alle Konfliktmarker manuell löschen. Die Datei sollte danach nur noch den gewünschten Code enthalten.

Schritt 5: Staging und Commit

Mit „git add dateiname.js" die gelöste Datei stagen. Dann „git commit" ohne weitere Message – Git verwendet automatisch eine Merge-Commit-Nachricht.

Das Testing nicht vergessen. Gerade bei komplexen Konflikten kann die manuelle Zusammenführung Fehler einbauen, die erst zur Laufzeit auffallen.