Machen Sie einen Git-Stash rückgängig

335

Ich habe gerade ein Versteck in einem Projekt gemacht, das ich nicht festgelegt habe. Gibt es eine Möglichkeit, in den Staat zurückzukehren, bevor ich mich versteckt habe? Wie könnte ich das machen? Ich habe das Terminal geschlossen und mein Laptop ist heruntergefahren. Ich habe einige Nachforschungen angestellt und es scheint, dass es keine Möglichkeit gibt, dies zu tun.

Stollen
quelle
In Verbindung stehender Beitrag hier .
RBT

Antworten:

650

Sie können einfach ausführen:

git stash pop

und es wird Ihre Änderungen aufheben.

Wenn Sie den Status von Dateien (inszeniert oder funktionsfähig) beibehalten möchten, verwenden Sie

git stash apply --index
Ziad-Saab
quelle
10
Nicht ganz. Es wird nicht zurückgesetzt, was sich im Staging-Verzeichnis befindet, daher müssen Sie all das neu starten (was ärgerlich sein kann, wenn Sie gerade ein komplexes Git-Add -p durchgeführt haben
Nick
Hat bei mir nicht funktioniert. Ich habe einen Fehler bekommen : mymodule/MyClass.java: needs merge - unable to refresh index. Das Vermeiden einer manuellen Zusammenführung war genau mein Ziel bei der Verwendung von git stash pop...
TanguyP
Hat mein Leben gerettet. Ich denke, meine Änderungen sind weg und ich muss wieder alles tun. Danke
Ankit Shah
@ TanguyP Also, was war deine Lösung am Ende?
theonlygusti
118

git stash list um Ihre versteckten Änderungen aufzulisten.

git stash showum zu sehen, was nin den folgenden Befehlen steht.

git stash apply um den neuesten Stash anzuwenden.

git stash apply stash@{n} einen älteren Vorrat anwenden.

http://git-scm.com/book/en/Git-Tools-Stashing

Allmächtige Entität
quelle
1
auch "git stash show" nach "git stash list", um diese hervorragende Antwort abzurunden und besser zu identifizieren, durch was n ersetzt werden soll. Es stellt sich heraus, dass ich Sachen aus Dateien versteckt habe, die nicht mehr existieren!
JimLohse
15

Dadurch wird auch das Staging-Verzeichnis wiederhergestellt:

git stash apply --index
wisbucky
quelle