如果我在一家分店,例如test
并做了一些工作。如果我执行git stash
并切换到master
分支,如果我执行了git stash clear
,我是否会丢失我在test
中保存的工作?或者每个分支都有一个单独的存储堆栈?
答案 0 :(得分:10)
没有。 Stashes实际上是引用的reflog(有点像'隐藏分支',如果你愿意的话):refs/stash
所以,
git reflog refs/stash
e41a1b8 refs/stash@{0}: WIP on master: 42092ec PoC
大致相当于
git stash list
stash@{0}: WIP on master: 42092ec PoC
所以只有一个“分支”包含所有的藏匿处。
在这个答案中,机制可能会更清晰:Is it possible to push a git stash to a remote repository?
你可以“推断”隐藏的东西是什么分支,例如
git branch -a --contains stash@{0}^
(询问:哪些分支包含此存储的父版本?)