1684 Stimmen

Wie kann ich git reset --hard HEAD~1 rückgängig machen?

Ist es möglich, die durch den folgenden Befehl verursachten Änderungen rückgängig zu machen? Wenn ja, wie?

git reset --hard HEAD~1

15 Stimmen

Ich habe eine vollständige Anleitung zur Wiederherstellung eines verlorenen Commits mit Git geschrieben. Es gibt sogar Illustrationen :-) [Check it out][fixLink] [fixLink]: programblings.com/2008/06/07/

39 Stimmen

--hard verwirft unbestätigte Änderungen. Da diese nicht von Git verfolgt werden, gibt es keine Möglichkeit, sie mit Git wiederherzustellen.

0 Stimmen

4voto

flyingpluto7 Punkte 974

Mein Problem ist fast ähnlich. Ich habe unbestätigte Dateien, bevor ich eingebe git reset --hard .

Zum Glück. Ich habe es geschafft, all diese Ressourcen zu überspringen. Nachdem ich bemerkt habe, dass ich einfach rückgängig machen kann ( ctrl-z für Windows/Linux cmd-shift-z für Mac). Ich möchte dies nur zu all den Antworten oben hinzufügen.

Anmerkung. Es ist nicht möglich, ungeöffnete Dateien rückgängig zu machen.

1 Stimmen

Das ist richtig. Danke für den Hinweis, ich konnte auf diese Weise auch meine nicht übertragenen Änderungen wiederherstellen.

0 Stimmen

In welcher Anwendung schlagen Sie zu ctrl-z und auf welchem System?

0 Stimmen

Danke, @flyingpluto7, wenn ich die Antworten oben lese, sieht es so aus, als hätte ich keine Hoffnung, bis ich nach unten scrolle, denn deine Antwort ist so einfach, wie sie nur sein kann. Ich habe bereits die Hoffnung verloren, nicht gebundene Änderungen der letzten 2 Tage Arbeit wiederherzustellen, und ich habe völlig nicht daran erinnern, ctrl - z. Ich benutze vscode und das funktioniert perfekt.

4voto

tuan.dinh Punkte 328

Das hat mir das Leben gerettet: https://medium.com/@CarrieGuss/how-to-recover-from-a-git-hard-reset-b830b5e3f60c

Im Grunde müssen Sie laufen:

for blob in $(git fsck --lost-found | awk ‘$2 == “blob” { print $3 }’); do git cat-file -p $blob > $blob.txt; done

Dann müssen Sie sich die Mühe machen, Ihre Dateien manuell in der richtigen Struktur neu zu organisieren.

Mitnehmen: Verwenden Sie niemals git reset --hard Wenn Sie nicht 100%ig verstehen, wie es funktioniert, sollten Sie es nicht verwenden.

2 Stimmen

Jemand hat dies in ein Repo gestellt (erfordert Python): github.com/pendashteh/git-recover-index Super nützlich, habe es gerade ausgeführt und die erstellten Dateien durchsucht.

4voto

NATALIAGJ Punkte 79

git reflog und zurück zum letzten HEAD 6a56624 (HEAD -> master) HEAD@{0}: Zurücksetzen: Verschieben nach HEAD~3 1a9bf73 HEAD@{1}: commit: Änderungen im Modell hinzufügen und binär generieren

1voto

Abdulrahim Klis Punkte 159

Git reset --hard - Sie können damit eine Seite zurücksetzen und danach alles wieder aus dem Original zurückholen oder verstecken

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