Merge-Konflikte
Swipe um das Menü anzuzeigen
Verständnis von Merge-Konflikten
Ein Merge-Konflikt tritt auf, wenn Git die Änderungen, die auf zwei auseinanderlaufenden Branches vorgenommen wurden, nicht automatisch zusammenführen kann. Dies geschieht typischerweise, wenn in beiden Branches seit ihrem letzten gemeinsamen Vorfahren Änderungen an den gleichen Codezeilen in den gleichen Dateien vorgenommen wurden.
Beispielhafter Arbeitsablauf
Zuerst alle Branches im Repository auflisten:
git branch
Du befindest dich aktuell auf dem master-Branch. Ändere daher die Datei branch_learning.txt, indem du eine neue Zeile hinzufügst, und führe diese Änderung direkt als Commit aus:
echo "New line from the master branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the master branch to branch_learning.txt"
Wechsle nun zum feature-Branch, füge eine andere neue Zeile zur Datei branch_learning.txt hinzu und führe diese Änderung direkt als Commit aus:
git checkout feature/new-feature
echo "New line from the feature branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the feature branch to branch_learning.txt"
Beide Commits sind erfolgreich, daher zurück zum master-Branch wechseln und den feature-Branch damit zusammenführen:
git checkout master
git merge feature/new-feature
Hoppla, ein Merge-Konflikt ist aufgetreten, weil sich dieselbe Zeile in derselben Datei zwischen den Branches unterscheidet und Git diesen nicht automatisch lösen kann.
Führe außerdem den Befehl git status aus, um weitere Informationen über den Konflikt zu erhalten:
git status
Diese Meldung zeigt an, dass entweder der Merge abgebrochen oder die Konflikte behoben und die Änderungen anschließend committet werden müssen. Im nächsten Kapitel werden die Konflikte gelöst.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen