Ich habe aus Versehen gesagt git rm -r .
. Wie kann ich mich davon erholen?
Ich habe nicht committed.
Ich glaube, alle Dateien wurden zum Löschen markiert und auch physisch aus meinem lokalen Checkout entfernt.
BEARBEITEN: Ich könnte (wenn ich den Befehl kennen würde) zum letzten Commit zurückkehren. Aber es wäre viel besser, wenn ich einfach das git rm -r .
rückgängig machen könnte. Denn ich bin mir nicht wirklich sicher, was ich nach dem letzten Commit und vor dem git rm -r .
gemacht habe.
3 Stimmen
Für diese spezielle Frage ist reset --hard eine gute Lösung ... es ist bereits aufgelistet, also werde ich nur in diesem Kommentar darauf hinweisen, dass Sie die Dokumentation für git-reflog überprüfen sollten.
11 Stimmen
Beachten Sie, dass git, weil Sie
-f
nicht angit rm
angegeben haben, keine Dateien entfernt hat, die Änderungen im Index oder Arbeitsverzeichnis hatten. Daher sollte eingit reset; git checkout .
alles wiederherstellen.1 Stimmen
Achte einfach darauf - git checkout . löscht alle nicht übertragenen Änderungen.
2 Stimmen
Ich habe gerade so etwas gemacht, und ich verstehe nicht, warum meine lokalen Dateien gelöscht wurden (und, wie der OP, habe ich noch nicht committet.)
0 Stimmen
Mit Git 2.23+ (August 2019) können Sie Dateien mit
git restore
wiederherstellen:git restore -s@ -SW -- .
. Weitere Informationen finden Sie in meiner Antwort unten.