0Pricing
DevOps Bootcamp · Lektion

Merge-Konflikte manuell lösen

Lernen Sie, beim Integrieren voneinander abweichender Branches entstehende Merge-Konflikte manuell zu erkennen und zu lösen.

Merge-Konflikte manuell lösen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Merge-Konflikte verstehen

Willkommen in der Welt der Merge-Konflikte! Keine Sorge: Sie sind ein normaler Bestandteil der Zusammenarbeit mit Git. Ein Merge-Konflikt tritt auf, wenn Git nicht automatisch bestimmen kann, wie Änderungen aus zwei verschiedenen Branches zusammengeführt werden sollen.

Das geschieht meistens, wenn zwei Branches dieselben Zeilen in derselben Datei auf unterschiedliche Weise ändern oder wenn ein Branch eine Datei löscht, die in einem anderen Branch geändert wurde.

Warum Konflikte entstehen

Git ist beim automatischen Mergen der meisten Änderungen äußerst leistungsfähig. Bei Mehrdeutigkeiten benötigt Git jedoch menschliche Unterstützung. Hier sind häufige Szenarien:

  • Dieselbe Zeile, unterschiedliche Änderungen: Zwei Personen bearbeiten genau dieselbe Codezeile auf unterschiedliche Weise.
  • Eine Person löscht, eine andere ändert: Ein Branch löscht eine Datei, während ein anderer Branch sie ändert.
  • Umbenennen gegenüber Ändern: Eine Datei wird in einem Branch umbenannt und in einem anderen geändert.

Konflikte mit Git erkennen

Wenn ein Merge-Konflikt auftritt, schließt Git den Merge nicht automatisch ab. Stattdessen hält Git den Vorgang an und teilt Ihnen mit, in welchen Dateien Konflikte vorliegen. Sie sehen dann eine Meldung wie diese:

Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.

`git status` für Konflikte verwenden

Nachdem ein automatischer Merge fehlgeschlagen ist, befindet sich Ihr Repository in einem „merging“-Zustand. Mit git status können Sie sehen, in welchen Dateien Konflikte vorliegen. Diese Dateien werden als „unmerged paths“ aufgelistet.

git status

Konflikt-Markierungen entschlüsseln

Git fügt direkt in die Dateien mit Konflikten spezielle Markierungen ein, um Ihnen die problematische Stelle zu zeigen. Anhand dieser Markierungen können Sie die verschiedenen Code-Versionen erkennen:

  • <<<<<<< HEAD: Kennzeichnet den Beginn der Änderungen Ihres aktuellen Branches.
  • =======: Trennt die Änderungen der beiden Branches.
  • >>>>>>> branch-name: Kennzeichnet das Ende der Änderungen des eingehenden Branches.

Das Innere einer Datei mit Konflikten

Sehen wir uns ein Beispiel an. Stellen Sie sich vor, Sie haben eine Datei hello.txt. Ihr main-Branch hat sie in „Hello from main“ geändert, während ein feature-Branch dieselbe Zeile in „Greetings from feature“ geändert hat. Beim Mergen von feature in main sieht die Datei so aus:

<<<<<<< HEAD
Hello from main
=======
Greetings from feature
>>>>>>> feature

Den Konflikt manuell auflösen

Ihre Aufgabe ist es, die Datei mit dem Konflikt (z. B. hello.txt) in Ihrem Texteditor zu öffnen. Bearbeiten Sie die Datei anschließend manuell, entfernen Sie die Konflikt-Markierungen und wählen Sie den gewünschten Inhalt aus. Sie können Teile kombinieren, eine Version auswählen oder etwas völlig Neues schreiben.

Wenn wir in unserem Beispiel mit hello.txt beide Nachrichten behalten möchten, könnten wir die Datei so bearbeiten:

Hello from main and Greetings from feature!

Aufgelöste Änderungen zum Staging hinzufügen

Nachdem Sie die Datei manuell bearbeitet und alle Konflikt-Markierungen entfernt haben, müssen Sie Git mitteilen, dass Sie den Konflikt gelöst haben. Dazu fügen Sie die Datei mit git add zum Staging-Bereich hinzu.

Wiederholen Sie diesen Vorgang für jede Datei, die von git status als „unmerged path“ aufgeführt wird.

git add hello.txt

Den Merge-Commit abschließen

Nachdem alle Dateien mit Konflikten zum Staging hinzugefügt wurden, kann der Merge committet werden. Git stellt normalerweise eine standardmäßige Nachricht für den Merge-Commit bereit, die Sie übernehmen oder ändern können. Dieser abschließende Commit beendet den Merge-Vorgang.

git commit -m "Merged feature branch, resolved conflict in hello.txt"

Überprüfung zur Konfliktauflösung

Sie haben einen Merge-Konflikt erfolgreich aufgelöst. Testen wir nun Ihr Verständnis des nächsten wichtigen Schritts nach der manuellen Bearbeitung einer Datei mit Konflikten.

Zusammenfassung: Manuelles Auflösen von Konflikten

Sie haben gelernt, wie Sie Merge-Konflikte manuell auflösen! Das ist eine grundlegende Fähigkeit für alle Entwicklerinnen und Entwickler.

  • Konflikte treten auf, wenn Git Änderungen nicht automatisch zusammenführen kann.
  • git status zeigt nicht zusammengeführte Dateien an.
  • Konfliktmarker (<<<<<<<, =======, >>>>>>>) zeigen voneinander abweichenden Code.
  • Bearbeiten Sie die Dateien manuell, entfernen Sie die Marker und wählen Sie den endgültigen Inhalt aus.
  • Stagen Sie die aufgelösten Dateien mit git add.
  • Schließen Sie den Merge mit git commit ab.

Übung macht den Meister! Konflikte können anfangs einschüchternd wirken, aber mit diesen Schritten werden Sie sie sicher beherrschen.

Häufig gestellte Fragen

Ist die Lektion „Merge-Konflikte manuell lösen“ kostenlos?

Ja — der vollständige Text von „Merge-Konflikte manuell lösen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Merge-Konflikte manuell lösen“?

Lernen Sie, beim Integrieren voneinander abweichender Branches entstehende Merge-Konflikte manuell zu erkennen und zu lösen. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Merge-Konflikte manuell lösen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Merge-Konflikte manuell lösen
  2. Interaktives Rebasen für den Verlauf
  3. Commits cherry-picken
  4. Git Rerere zur Wiederverwendung von Konfliktauflösungen verwenden
← Zurück zu DevOps Bootcamp