Überprüfen Sie die Datei auf Konfliktmarker
Im vorherigen Schritt haben wir gesehen, dass git status
einen Konflikt in der Datei message.txt
gemeldet hat. Jetzt untersuchen wir die Datei selbst, um zu sehen, wie Git die konfliktbehafteten Abschnitte markiert.
Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/my-time-machine
befinden.
Wir können den Befehl cat
verwenden, um den Inhalt der Datei anzuzeigen:
cat message.txt
Die Ausgabe sieht in etwa so aus:
Hello, Future Me
<<<<<<< HEAD
This is an important message.
=======
Hope you are doing well!
>>>>>>> feature/greeting
Beachten Sie die speziellen Marker, die Git in die Datei eingefügt hat:
<<<<<<< HEAD
: Dies markiert den Anfang der Änderungen im aktuellen Zweig (in diesem Fall HEAD
, das auf master
zeigt).
=======
: Dies ist ein Trenner zwischen den Änderungen aus den beiden Zweigen.
>>>>>>> feature/greeting
: Dies markiert das Ende der Änderungen aus dem Zweig, von dem Sie gemerged haben (feature/greeting
).
Diese Marker zeigen Ihnen genau, wo der Konflikt aufgetreten ist und wie die verschiedenen Versionen der konfliktbehafteten Zeilen aussehen. Die Zeilen zwischen <<<<<<< HEAD
und =======
sind die Änderungen aus Ihrem aktuellen Zweig (master
), und die Zeilen zwischen =======
und >>>>>>> feature/greeting
sind die Änderungen aus dem Zweig, den Sie gemerged haben (feature/greeting
).
Ihre Aufgabe besteht nun darin, diese Datei manuell zu bearbeiten und zu entscheiden, welche Änderungen beibehalten werden sollen. Sie müssen die Konfliktmarker und die Zeilen entfernen, die Sie nicht beibehalten möchten, und nur den endgültigen gewünschten Inhalt übrig lassen.
Beispielsweise, wenn Sie beide Nachrichten beibehalten möchten, würden Sie die Datei so bearbeiten, dass sie wie folgt aussieht:
Hello, Future Me
This is an important message.
Hope you are doing well!
Oder, wenn Sie nur die Nachricht aus dem master
-Zweig beibehalten möchten, würden Sie die Datei so bearbeiten, dass sie wie folgt aussieht:
Hello, Future Me
This is an important message.
Verwenden Sie den nano
-Editor, um die Datei message.txt
zu öffnen und zu bearbeiten:
nano message.txt
Bearbeiten Sie die Datei, um den Konflikt zu lösen, indem Sie die Konfliktmarker entfernen und den Inhalt auswählen, den Sie beibehalten möchten. In diesem Lab behalten wir beide Nachrichten bei.
Nach der Bearbeitung sollte der Dateiinhalt wie folgt aussehen:
Hello, Future Me
This is an important message.
Hope you are doing well!
Drücken Sie Ctrl + X
, um nano
zu verlassen, dann Y
, um die Änderungen zu speichern, und schließlich Enter
, um den Dateinamen zu bestätigen.
Indem Sie die Datei manuell bearbeiten und die Konfliktmarker entfernen, sagen Sie Git, wie die konfliktbehafteten Änderungen kombiniert werden sollen. Dies ist ein entscheidender Schritt bei der Lösung von Merge-Konflikten.