Wie erhole ich den Index nach einem Git Stash / Git Stash Pop?

8

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?

    
Watcom 10.01.2013, 18:08
quelle

2 Antworten

1

Wenn Sie git stash pop gerade ausgeführt haben, lautet die letzte Zeile in der Ausgabe:

%Vor%

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.

user 09.10.2017, 21:31
quelle
4

Dies wird die Aufgabe erfüllen:

%Vor%

Bearbeiten : Wenn der Index bereits verloren ist, sollten Sie git fsck --unreachable ausführen und die letzten Commits überprüfen. Sie müssen Ihren verlorenen Index dort sehen können. Danach können Sie git cherry-pick it.

    
maliayas 30.11.2013 22:35
quelle

Tags und Links