Nachdem ich einige Änderungen am Index mit git add -p vorgenommen habe, habe ich dann einen Git Stash ausgegeben, aber vergessen, --keep-index hinzuzufügen. Dann machte ich einen Dummkopf, und alle meine Änderungen im Index waren weg. Gibt es eine Möglichkeit, den Index vor dem Git-Stash wiederherzustellen?
Wenn Sie git stash pop
gerade ausgeführt haben, lautet die letzte Zeile in der Ausgabe:
Wenn Sie es verloren haben, finden Sie unter Wie Sie einen gelöschten Stash in Git wiederherstellen? , um den Hash-Wert für das Commit zu finden.
Sobald Sie den Hash haben, entweder :
Lösche alle aktuellen Änderungen (angewendeter Stash):
git reset --hard
Und wenden Sie den Stash erneut mit seiner ID an, diesmal mit index:
git stash apply ca82a6d --index
Setzen Sie nur den Index zurück, der Punkt hier ist, dass der Index als zweites Elternteil des Stash gespeichert wird:
git reset ca82a6d^2 .
Beachten Sie den Punkt am Ende. Wenn Sie es nicht angeben, wird auch HEAD in den Index verschoben (der Index erscheint als Commit). In diesem Fall führen Sie git reset --soft HEAD@{1}
aus, um den HEAD an seine vorherige Position zurückzugeben.