926 Stimmen

Wie löscht man einen mit git stash create erstellten Stash?

Git stash scheint viel von dem zu tun, was ich will, außer dass es ein wenig schwer zu skripten, wie die, wenn Sie keine Änderungen haben, dann git stash; git stash pop wird etwas anderes tun, als wenn Sie Änderungen in Ihrem Repository haben.

Es scheint, dass git stash create ist die Antwort auf dieses Problem, und alles funktioniert, bis auf eine Sache Ich kann den angelegten Vorrat nicht loswerden. Gibt es eine Möglichkeit, den Vorrat loszuwerden?

Um zu 100% klar zu machen, was ich tue:

Legen Sie den Vorrat an:

~/tmp/a(master) $ git stash create 
60629375d0eb12348f9d31933dd348ad0f038435
~/tmp/a(master) $ git st
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   b
#
~/tmp/a(master) $ git reset --hard
HEAD is now at 555d572 log message

Verwenden Sie den Vorrat:

~/tmp/a(master) $ git apply 60629375d0eb12348f9d31933dd348ad0f038435
fatal: can't open patch '60629375d0eb12348f9d31933dd348ad0f038435': No such file or directory
~/tmp/a(master) $ git stash apply 60629375d0eb12348f9d31933dd348ad0f038435
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   b
#

Löschen Sie den Vorrat: (außer, dass dieser letzte Teil nicht funktioniert)

~/tmp/a(master) $ git stash drop !$
git stash drop 60629375d0eb12348f9d31933dd348ad0f038435
'60629375d0eb12348f9d31933dd348ad0f038435' is not a stash reference

45voto

Vinicius Cardoso Punkte 564

So löschen Sie nur einen Vorrat git stash drop

Alle Verstecke löschen git stash clear

So zeigen Sie Ihren Vorrat git stash show

So entfernen Sie einen bestimmten Vorrat git stash drop indexnumber z.B. git stash drop 4

36voto

Shoaib Khalil Punkte 843

Der beste Weg, um mit Stashes umzugehen, ist, zuerst die Liste der Stashes mit

git stash list

und dann feststellen und bestätigen, ob es ein Versteck Ihres Anliegens gibt, dann gehen Sie mit

git stash drop

und es werden die Verstecke nacheinander gelöscht (von oben beginnend)

git stash drop <index>

wird ein Versteck auf einem bestimmten Index gelöscht, z.B. 5

aber wenn Sie sicher sind, dass nichts von dieser Liste benötigt wird, dann wählen Sie

git stash clear

und es wird sie alle entfernen.

35voto

Bilal Yaqoob Punkte 339
git stash           // create stash,
git stash push -m "message" // create stash with msg,
git stash apply         // to apply stash,
git stash apply indexno // to apply  specific stash, 
git stash list          //list stash,
git stash drop indexno      //to delete stash,
git stash pop indexno,
git stash pop = stash drop + stash apply
git stash clear         //clear all your local stashed code

6voto

MonTea Punkte 1018

Es funktioniert auch

git stash drop <index>

wie

git stash drop 5

5voto

Akshay Punkte 545

Für VS Code-Benutzer, die den Stash von der Benutzeroberfläche aus bedienen möchten, verwenden Sie bitte diese Methode:

  1. Stellen Sie sicher, dass Sie Folgendes installiert haben GitLens Erweiterung.
  2. Gehen Sie zur Registerkarte Versionskontrolle.
  3. Schauen Sie in der Rubrik STASHES nach. Dort finden Sie alle Ihre Stashes (wie git stash list )
  4. Hier finden Sie direkte Schaltflächen zu Stash anwenden , Vergleiche mit HEAD y Versteck löschen jeweils für jeden Vorrat.

enter image description here

  1. Um einen bestimmten Vorrat zu löschen, klicken Sie auf die Schaltfläche Vorrat löschen und geben Sie eine Bestätigung, um ihn zu löschen.

enter image description here

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X