2014-01-10 3 views
11

Ich hatte einige lokale Änderungen in meinem Verzeichnis, das ich mit git commit festgeschrieben habe. Später erkannte ich, dass meine Änderungen versehentlich meinen Build zerstörten. Also habe ich einen "git reset --soft" auf meinem Repo gemacht. Aber ich bin vermasselt, da ich die Änderungen, die alle rückgängig gemacht wurden, nicht gesichert habe, da einige von ihnen die neue Funktionalität enthielten, die ich wollte. Jede Hilfe zum Rückgängigmachen einer "git reset --soft" -Operation, damit ich meine festgeschriebenen Änderungen zurückbekommen kann.Wie rückgängig machen git reset --soft, um meine Änderungen zurück zu bekommen?

+1

Das vorherige Commit sollte immer noch im Reflog sein. Aber wenn Sie einen Soft-Reset durchgeführt haben, sollten die Änderungen nicht in Ihrer Arbeitskopie enthalten sein? – cHao

+0

http://stackoverflow.com/questions/2510276/undoing-git-reset –

+0

Hallo, danke für den Zeiger. Eigentlich habe ich gerade herausgefunden, dass ich vergessen habe, für einige meiner lokalen Dateien ein "Git Add" zu machen. Als ich also tatsächlich einen Commit machte, wurden alle Änderungen für die lokalen Dateien, die in der "gestaffelten" Phase waren, übernommen, und die nicht gestarteten Änderungen gingen verloren. Nun, jetzt scheint es, als wäre ich völlig durchgeknallt. Gibt es einen Ausweg? – dennis

Antwort

28

Sie sollten zurück auf Ihre Commit-ID zurücksetzen Git zurückgesetzt _Ihre_Hash_, als Git-Reset --soft nur die Dateien zurücksetzen und nicht den Index oder Arbeitsbaum.

In Ihrem Git Reflog sollten Sie einige Ihrer Commits finden.

+0

Ich habe noch eine Reihe von Änderungen in 'git status'. Vor 'git reset --soft' waren diese nicht vorhanden, daher scheint diese Antwort als allgemeiner Undo-this-git-Befehl unvollständig zu sein. – jozxyqk

Verwandte Themen