Reset und Revert
Ziel
- In diesem Projekt geht es um den Umgang mit Änderungen und wie man diese auf unterschiedlichen Wegen rückgängig machen kann.
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
my-first-projectund legen Sie ein neues an:
cd .. # Den Order my-first-project verlassen
mkdir reset_und_revert # Einen neuen Ordner anlegen
cd reset_und_revert # 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
my-first-projectmit dem Kommandocd ..(cdsteht fürChange Directoryund..für das Elternverzeichnis). - Führen Sie
pwdaus.pwdliefert ihnen das aktuelle Verzeichnis. Sie sollten die Ausgabe/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 reset_und_revertaus (mkdirsteht fürmake directoryund erstellt einen Ordner). - Wechseln Sie mit
cd reset_und_revertin 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
- Committen Sie eine neue, leere Datei.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Erstellen Sie über den Dateibrowser im Verzeichnis
reset_und_reverteine neue leere Datei. - Fügen Sie die Datei mit
git add .zur Staging-Area hinzu. Vergessen Sie hierfür nicht den Punkt hinteradd. - Überprüfen Sie das mit
git status. - Erstellen Sie einen Commit mit
git commit -m "{Hier Ihre Commit-Nachricht einfügen}". - Schauen Sie sich ihren Commit mit
git logan.
Aufgabe 3
- Ändern Sie die Datei mit einem Commit "Neue Änderung".
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Fügen Sie einen beliebigen Inhalt in die eben erstellte Datei ein und speichern Sie.
- Fügen Sie die Datei zur Stageing-Area hinzu.
- Erstellen Sie einen Commit mit der Nachricht "Neue Änderung".
- Schauen Sie sich ihre Commits mit
git logan.
Aufgabe 4
- Ändern Sie nachträglich die Commit-Nachricht auf "Neue Datei hinzugefügt".
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Führen Sie
git commit --amendaus. - Sie erhalten die gleiche Ausgabe wie bei einem Commit und können nun die Commit-Nachricht beliebig bearbeiten.
- Schauen Sie sich ihre Commits mit
git logan.
Aufgabe 5
- Entfernen Sie den Commit wieder komplett, sodass nichts davon im git log verbleibt.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Mit
git reset HEAD~1können Sie den Commit wieder entfernen. Die Änderung bleibt dabei in Ihrem Workspace erhalten, sodass Sie sie erneut committen können. - Schauen Sie sich das Ergebnis mit
git log,git statusundgit diffan.
Aufgabe 6
- Wiederholen Sie die Schritte aus Aufgabe 3.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Erstellen Sie erneut einen Commit mit einer Änderung in ihrer Datei.
Aufgabe 7
- Entfernen Sie den Commit nun so, dass am Ende ein Revert-Commit im git log verbleibt.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Führen Sie
git revert HEADaus. Es wird automatisch ein Commit erstellt, der die Änderungen wieder Rückgängig macht. - Ihre Datei ist nun wieder leer. Die Historie, wie ihre Datei bearbeitet wurde, wurde allerdings erhalten.