Konflikt beim Zusammenführen von Branches in Git

Beim Zusammenführen zweier Branches kann es zu Konflikten kommen, wenn wir in jedem Branch dieselbe Datei geändert haben. Betrachten wir eine Situation, in der wir in beiden Branches master und test aus der vorherigen Lektion die gleiche Datei file.txt geändert und einen Commit erstellt haben. Anschließend haben wir den Merge-Befehl ausgeführt:

terminalgit merge test

Als Ergebnis sehen wir einen Fehler:

textAuto-merging file.txt
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result.

Zusätzlich sehen wir im geänderten File Konfliktmarkierungen:

text<<<<<<< HEAD
hier stehen die Änderungen aus dem master-Branch
=======
hier stehen die Änderungen aus dem test-Branch
>>>>>>> test

Im oberen Teil der Nachricht sind die Änderungen angegeben, die im aktuell Hauptbranch gemacht wurden, im unteren Teil - die im zweiten Branch, den wir mit dem ersten zusammenführen wollen. Um den Konflikt zu lösen, müssen wir den Inhalt der Datei auf einen gemeinsamen Stand bringen, indem wir zuvor (manuell im Editor!) alle Konfliktbezeichnungen entfernen, die Git darin hinterlassen hat.

Nachdem wir den Konflikt gelöst haben (d.h. den korrekten Code in der Datei belassen haben), stagen wir unsere Datei und machen einen Commit im Branch master, in dem wir uns aktuell befinden:

textgit add file.txt
git commit -m "Zusammenführung"

Erst danach können wir zum zweiten Branch test wechseln und alle gleichen Operationen durchführen wie im Branch master, einschließlich des Ersetzens des Inhalts der Datei file.txt durch denselben wie im ersten Branch:

terminalgit add file.txt
git commit -m "Zusammenführung"

Jetzt können wir wieder zum Hauptbranch wechseln und den zweiten Branch hinein mergen:

terminalgit switch master
git merge test
Задание 1

Erzeugen Sie absichtlich einen Konflikt beim Zusammenführen von Branches. Lösen Sie ihn anschließend.