463 Stimmen

Wie kann man ein "git rm -r ." rückgängig machen?

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 an git rm angegeben haben, keine Dateien entfernt hat, die Änderungen im Index oder Arbeitsverzeichnis hatten. Daher sollte ein git reset; git checkout . alles wiederherstellen.

1 Stimmen

Achte einfach darauf - git checkout . löscht alle nicht übertragenen Änderungen.

3voto

VonC Punkte 1117238

Mit Git 2.23+ (August 2019) ist der richtige Befehl zum Wiederherstellen von Dateien (und dem Index) git wiederherstellen (nicht reset --hard oder der verwirrende git checkout Befehl)

Das heißt:

git wiederherstellen -s=HEAD --gestaged --worktree -- .

Oder in abgekürzter Form:

git wiederherstellen -s@ -SW -- .

2voto

Artur Punkte 433

Ich hatte eine identische Situation. In meinem Fall war die Lösung:

git checkout -- .

-1voto

Wai-Ming Lee Punkte 1

Ich hatte genau dasselbe Problem: Ich habe meine Ordner aufgeräumt, Dateien umsortiert und verschoben. Ich gab ein: git rm . ein und drückte die Eingabetaste; und dann fühlte ich, wie sich mein Darm ein wenig lockerte. Zum Glück habe ich nicht direkt git commit -m "" eingegeben.

Der folgende Befehl

git checkout .

hat alles wiederhergestellt und mein Leben gerettet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X