Merge mit Konflikt
Ziel
- In diesem Projekt geht es um den Umgang mit Konflikten beim Mergen.
Hilfsmittel
- Versuchen Sie zuerst, die unten stehenden Aufgaben mit Hilfe der Folien und des Cheatsheets zu lösen.
- Sollten Sie dabei Probleme haben, finden Sie bei jeder Aufgabe einen ausklappbaren Block, in dem der Lösungsweg beschrieben wird.
Aufgabe 1
-
Verlassen Sie das Repository
merge
und legen Sie ein neues an:cd .. # Den Order merge verlassen mkdir conflict # Einen neuen Ordner anlegen cd conflict # In den neuen Ordner wechseln git init # Ein Git-Repository anlegen
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Verlassen Sie den Ordner
merge
mit dem Kommandocd ..
. - Führen Sie
pwd
aus. Sie sollten die Augabe/root/workspace
erhalten. - Sollten Sie die Ausgabe nicht erhalten, wechseln Sie mit
cd /root/workspace
in das Verzeichnis. - Wenn Sie im richtigen Verzeichnis sind, führen Sie
mkdir conflict
aus. - Wechseln Sie mit
cd conflict
in den neu angelegten Ordner. - Führen Sie
git init
aus. Dadurch wird das Verzeichnis zu einem Git-Repository und Sie können Dateien/Änderungen committen.
Aufgabe 2
-
Erstellen Sie eine Datei
teilnehmer.txt
mit folgendem Inhalt:Training 1 Philipp Lisa Rebecca Thomas Alexander
Aufgabe 3
- Erstellen Sie einen Commit mit den Änderungen.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Erstellen Sie einen Commit mit
git add .
undgit commit -m "{Hier Ihre Commit-Nachricht einfügen}"
.
Aufgabe 4
- Erstellen Sie einen neuen Branch
training2
und wechseln Sie auf diesen.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Führen Sie
git switch -c training2
aus.
Aufgabe 5
-
Fügen Sie zu der Datei
teilnehmer.txt
folgenden Inhalt hinzu:Training 2 Markus Ramona Till Juliane
Aufgabe 6
- Erstellen Sie einen Commit mit den Änderungen.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Erstellen Sie einen Commit mit
git add .
undgit commit -m "{Hier Ihre Commit-Nachricht einfügen}"
.
Aufgabe 7
- Wechseln Sie auf den
main
-Branch.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Führen Sie
git switch main
aus.
Aufgabe 8
- Löschen Sie die Teilnehmer
Thomas
undAlexander
. Erstellen Sie einen Commit mit den Änderungen.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Löschen Sie die Namen aus der Datei und speichern Sie diese.
- Erstellen Sie einen Commit mit
git add .
undgit commit -m "{Hier Ihre Commit-Nachricht einfügen}"
.
Aufgabe 9
- Mergen Sie die Änderungen von dem Branch
training2
in denmain
-Branch. Lösen Sie den Konflikt.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Starten Sie den Merge mit
git merge training2
. - Öffnen Sie die Datei im Editor. VSCode markiert die Stelle mit dem Konflikt automatisch.
- Wie Sie sehen enthält die Änderungen vom Branch
training2
nicht nur die Änderungen, die auf dem Branch gemacht wurden, sondern auch die inmain
bereits gelöschten Namen. Diese Änderung möchten wir nicht inmain
mergen. - Entfernen Sie deshalb die Namen
Thomas
undAlexander
, sodass nur die eigentliche Liste "Training 2" übrig bleibt und speichern Sie. - Markieren Sie den Konflikt mit
git add teilnehmer.txt
als gelöst. - Beenden Sie mit
git commit -m "{Hier Ihre Commit-Nachricht einfügen}"
den Merge.