Git stash は、スクリプトを作成するのが少し難しいことを除いて、私が望む多くのことをgit stash; git stash pop
行うようです。変更がない場合は、リポジトリに変更がある場合とは異なることを行うからです。
それがgit stash create
その問題に対する答えのようで、1 つのことを除いてすべてが機能します... 作成された隠し場所を取り除くことができません。スタッシュを取り除く方法はありますか?
私がやっていることを100%明確にするために:
スタッシュを作成します。
~/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
スタッシュを使用します。
~/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
#
隠し場所を削除します: (この最後のビットが機能しないことを除いて)
~/tmp/a(master) $ git stash drop !$
git stash drop 60629375d0eb12348f9d31933dd348ad0f038435
'60629375d0eb12348f9d31933dd348ad0f038435' is not a stash reference