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
mergeund 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
mergemit dem Kommandocd ... - Führen Sie
pwdaus. Sie sollten die Augabe/root/workspaceerhalten. - Sollten Sie die Ausgabe nicht erhalten, wechseln Sie mit
cd /root/workspacein das Verzeichnis. - Wenn Sie im richtigen Verzeichnis sind, führen Sie
mkdir conflictaus. - Wechseln Sie mit
cd conflictin den neu angelegten Ordner. - Führen Sie
git initaus. Dadurch wird das Verzeichnis zu einem Git-Repository und Sie können Dateien/Änderungen committen.
Aufgabe 2
-
Erstellen Sie eine Datei
teilnehmer.txtmit 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
training2und wechseln Sie auf diesen.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Führen Sie
git switch -c training2aus.
Aufgabe 5
-
Fügen Sie zu der Datei
teilnehmer.txtfolgenden 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 mainaus.
Aufgabe 8
- Löschen Sie die Teilnehmer
ThomasundAlexander. 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
training2in 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
training2nicht nur die Änderungen, die auf dem Branch gemacht wurden, sondern auch die inmainbereits gelöschten Namen. Diese Änderung möchten wir nicht inmainmergen. - Entfernen Sie deshalb die Namen
ThomasundAlexander, sodass nur die eigentliche Liste "Training 2" übrig bleibt und speichern Sie. - Markieren Sie den Konflikt mit
git add teilnehmer.txtals gelöst. - Beenden Sie mit
git commit -m "{Hier Ihre Commit-Nachricht einfügen}"den Merge.