Wiederherstellung der verlorenen Dateien

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Als Entwickler könnten Sie Situationen begegnen, in denen wichtige Dateien versehentlich gelöscht und committet wurden. Diese Herausforderung simuliert ein solches Szenario und testet Ihre Fähigkeit, Git's Werkzeuge zur Verlaufsprüfung und Zustandswiederherstellung zu nutzen, um verlorene Dateien wiederherzustellen und Ihr Projekt in einen funktionierenden Zustand zu versetzen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/status("Check Status") git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BranchManagementGroup -.-> git/checkout("Switch Branches") git/BranchManagementGroup -.-> git/log("Show Commits") git/BranchManagementGroup -.-> git/reflog("Log Ref Changes") subgraph Lab Skills git/add -.-> lab-387781{{"Wiederherstellung der verlorenen Dateien"}} git/status -.-> lab-387781{{"Wiederherstellung der verlorenen Dateien"}} git/commit -.-> lab-387781{{"Wiederherstellung der verlorenen Dateien"}} git/checkout -.-> lab-387781{{"Wiederherstellung der verlorenen Dateien"}} git/log -.-> lab-387781{{"Wiederherstellung der verlorenen Dateien"}} git/reflog -.-> lab-387781{{"Wiederherstellung der verlorenen Dateien"}} end

Wiederherstellung der verlorenen Dateien

Bevor Sie mit dieser Herausforderung beginnen, wurde für Sie ein Git-Repository im Verzeichnis ~/project/important-project initialisiert. Dieses Repository enthält mehrere Commits, darunter die Erstellung und anschließende versehentliche Löschung von zwei wichtigen Dateien. Hier ist, was Sie wissen müssen:

  • Das Repository wurde mit einem Initial-Commit erstellt, der eine README.md-Datei hinzufügte.
  • Zwei wichtige Dateien, important_algorithm.py und crucial_data.txt, wurden in einem späteren Commit hinzugefügt.
  • Es gab noch einige weitere Commits mit verschiedenen Änderungen.
  • Irgendwann wurden important_algorithm.py und crucial_data.txt versehentlich gelöscht, und diese Löschung wurde committet.
  • Es gab mindestens einen weiteren Commit nach der versehentlichen Löschung.

Ihre Aufgabe besteht darin, die gelöschten Dateien durch die Navigation im Repository-Verlauf wiederherzustellen und dann die wiederhergestellten Dateien zu committen.

Aufgaben

  1. Untersuchen Sie den Verlauf des Repositorys, um herauszufinden, wann important_algorithm.py und crucial_data.txt gelöscht wurden.
  2. Stellen Sie das Repository in den Zustand unmittelbar vor der Löschung wieder her.
  3. Behalten Sie die ursprünglichen Commits bei und erstellen Sie einen neuen Commit mit der Nachricht "Recover deleted files" (Wiederherstellung der gelöschten Dateien).

Anforderungen

  • Arbeiten Sie im Verzeichnis ~/project/important-project.
  • Stellen Sie sicher, dass important_algorithm.py und crucial_data.txt nach der Wiederherstellung vorhanden sind.
  • Stellen Sie sicher, dass die letzte Commit-Nachricht "Recover deleted files" lautet und der Commit-Verlauf erhalten bleibt.

Beispiel

Nachdem Sie die Herausforderung erfolgreich abgeschlossen haben, sollte das Ausführen von ls im Projektverzeichnis Folgendes anzeigen:

$ ls ~/project/important-project
important_algorithm.py crucial_data.txt README.md

Das Ausführen 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 oben 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
✨ Lösung prüfen und üben

Zusammenfassung

In dieser Herausforderung haben Sie eine häufige Git-Situation erlebt: versehentlich gelöschte Dateien. Sie haben gelernt, wie Sie:

  1. Den vollständigen Verlauf Ihres Repositorys untersuchen, einschließlich Aktionen, die den HEAD geändert haben.
  2. Ihr Repository in einen bestimmten vorherigen Zustand zurückversetzen, wodurch Sie effektiv die Zeit in Ihrem Projekt "rückwärts drehen".
  3. Einen neuen Commit erstellen, um den wiederhergestellten Zustand Ihres Projekts zu sichern.

Diese Fähigkeiten sind unschätzbar, um verlorene Commits zu finden, Fehler rückgängig zu machen und einen klaren Projektverlauf aufrechtzuerhalten. Denken Sie daran, dass diese Werkzeuge Sie vor Katastrophen bewahren können, aber es ist immer am besten, vorsichtig zu arbeiten und häufige, gut dokumentierte Commits zu erstellen, um solche Situationen von vornherein zu vermeiden.

Durch das Abschließen dieser Herausforderung haben Sie praktische Erfahrung mit einigen der leistungsstärksten Wiederherstellungswerkzeuge von Git gesammelt, Fähigkeiten, die Ihnen während Ihrer gesamten Entwicklerlaufbahn gut dienen werden.