Merge-Konflikte
Teil des Abschnitts Versionsverwaltung der Terminal-Journey von Coddy. Lektion 37 von 58.
Wenn beide Zweige dieselben Zeilen derselben Datei geändert haben, kann Git nicht erraten, welche Version beibehalten werden soll. Es pausiert den Merge und fordert dich auf, eine Entscheidung zu treffen.
Die Datei mit dem Konflikt erhält spezielle Markierungen, die beide Versionen anzeigen:
<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> featureIhre Aufgabe ist es, die Datei manuell zu bearbeiten: Wählen Sie eine Version aus, kombinieren Sie diese oder schreiben Sie etwas Neues. Entfernen Sie anschließend alle Konfliktmarkierungen (die Zeilen mit <<<, ===, >>>).
Sobald die Datei korrekt aussieht, füge sie zur Staging-Area hinzu und schließe den Merge mit einem weiteren Commit ab:
git add notes.txt
git commit -m "Resolve merge conflict in notes"Wenn du es dir zwischendurch anders überlegst, kannst du den gesamten Vorgang abbrechen und zum Zustand vor dem Zusammenführen zurückkehren:
git merge --abortAufgabe
MittelDer Ordner enthält notes.txt mit der Zeile hello.
Initialisiere das Repository und committe die anfängliche Datei. Erstelle den Branch alt, ändere notes.txt so, dass dort hi from alt steht, und committe.
Wechsle zurück zu main, ändere notes.txt so, dass dort hi from main steht, und committe.
Versuche, alt in main zu mergen. Der Merge wird einen Konflikt verursachen. Brich ihn mit git merge --abort ab und gib dann den Inhalt von notes.txt mit cat aus, um zu bestätigen, dass die Datei wieder in der main-Version vorliegt.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Versionsverwaltung
2Erste Schritte
Ein Repository initialisierenDer .git-OrdnerIdentität konfigurierenGit-StatusRückblick – Erstes Repository5Dateien ignorieren
Warum Dateien ignorierenGitignore-MusterIgnore-Regeln prüfenZusammenfassung – Sauberes Repo8Zusammenführen
Was ist ein Merge?Fast-Forward-MergeDrei-Wege-MergeMerge-KonflikteEinen Konflikt lösenRückblick – Merge-Meister3Änderungen verfolgen
Der Staging-BereichGit AddGit CommitEine verfolgte Datei ändernGit LogRückblick – Erste Commits6Rezeptseiten-Projekt
ProjektübersichtInitialisieren und IgnorierenÜbe selbstständig: Terminal-Playground