Wiederherstellung verlorener Dateien
Bevor Sie mit dieser Herausforderung beginnen, wurde für Sie bereits ein Git-Repository im Verzeichnis ~/project/important-project initialisiert. Dieses Repository enthält mehrere Commits, einschließlich der Erstellung und der anschließenden versehentlichen Löschung zweier wichtiger Dateien. Hier sind die Details:
- Das Repository wurde mit einem initialen Commit erstellt, der eine
README.md hinzufügte.
- Zwei entscheidende Dateien,
important_algorithm.py und crucial_data.txt, wurden in einem darauffolgenden Commit hinzugefügt.
- Es folgten einige weitere Commits mit verschiedenen Änderungen.
- Zu einem bestimmten Zeitpunkt wurden
important_algorithm.py und crucial_data.txt versehentlich gelöscht und diese Löschung committet.
- Nach der versehentlichen Löschung gab es mindestens einen weiteren Commit.
Ihre Aufgabe ist es, die gelöschten Dateien wiederherzustellen, indem Sie die Historie des Repositorys durchsuchen, und die wiederhergestellten Dateien anschließend neu zu committen.
Aufgaben
- Untersuchen Sie die Historie des Repositorys, um herauszufinden, wann
important_algorithm.py und crucial_data.txt gelöscht wurden.
- Versetzen Sie das Repository in den Zustand unmittelbar vor der Löschung.
- Behalten Sie die ursprünglichen Commits bei und erstellen Sie einen neuen Commit mit der Nachricht "Recover deleted files".
Anforderungen
- Arbeiten Sie im Verzeichnis
~/project/important-project.
- Stellen Sie sicher, dass
important_algorithm.py und crucial_data.txt nach der Wiederherstellung vorhanden sind.
- Der letzte Commit-Log muss die Nachricht "Recover deleted files" tragen und die bisherige Commit-Historie muss erhalten bleiben.
Beispiel
Nach erfolgreichem Abschluss der Herausforderung sollte die Ausführung von ls im Projektverzeichnis Folgendes anzeigen:
$ ls ~/project/important-project
important_algorithm.py crucial_data.txt README.md
Die Ausführung von git status sollte ein sauberes Arbeitsverzeichnis anzeigen:
$ git status
On branch master
nothing to commit, working tree clean
Und git log sollte Ihren neuen Commit an oberster Stelle anzeigen:
$ git log --oneline
8876d8b (HEAD -> master) Recover deleted files
9b3525c Update project status
5e6234c Oops, accidentally deleted important files
9de9506 Update algorithm TODO
01c36ae Add crucial data and algorithm
638a98d Initial commit