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