Merge
Ziel
- In diesem Projekt geht es um den Umgang mit Branches und wie man Änderungen aus mehreren Branches wieder vereint.
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
remote-branchesund legen Sie ein neues an:
cd .. # Den Order remote-branches verlassen
mkdir merge # Einen neuen Ordner anlegen
cd merge # 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
remote-branchesmit 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 mergeaus. - Wechseln Sie mit
cd mergein 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
- Bauen Sie den untenstehenden Graphen mit folgenden Eigenschaften nach:
- Knotenname = Commit-Nachricht
- Jeder Commit (außer Merge Commits) soll eine Datei mit dem gleichen Namen anlegen.
- Beispiel: Commit "C1" legt eine neue Datei "C1" an.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Beginnen Sie mit dem Commit
C1. Erstellen Sie dafür einen DateiC1und committen diese mit der NachrichtC1. - Im Graph sieht man, dass
C1mehrere Nachfolge-Commits hat. Um später wieder zu diesem Commit zu gelangen, ist es ratsam einen temporären Branch anzulegen. Legen Sie den Branch mitgit branch branch1an. Sie befinden sich weiterhin auf dem Branchmain. - Legen Sie nun Commit
C2an. - Für Commit
C5benötigen SieC2undC3. Erstellen Sie deshalb erstC3. Dafür ist der gerade erstellte Branch praktisch. Wechseln Sie auf den Branchbranch1. Sie befinden sich nun wieder beiC1. Erstellen Sie den CommitC3. - Wechseln Sie zurück auf
main. Mitgit merge branch1können Sie nunC5erzeugnen. Passen Sie dazu die Commit-Nachricht des Merge-Commits an. - Vollenden Sie den Graphen.