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.


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

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.