藏了两次毒品

我必须快速切换 git 分支,所以我运行 git stash,但是我必须再次运行它,因为我的一个文件需要编辑。

因此,我已经运行了两次 git stash,我准备回去编辑我的文件。我运行了 git stash apply,但是我不相信我藏起来的所有文件都被取出来了。有什么我能做的吗?有办法查吗?

当我运行 git stash show时,我只看到两个 Git 存储的最后一个。

有没有办法显示所有的 git stashes

61295 次浏览

你可以得到一个所有存货的清单

git stash list

它会向你展示

stash@{0}: WIP on dev: 1f6f8bb Commit message A
stash@{1}: WIP on master: 50cf63b Commit message B

如果你藏了两笔钱,那就打两次 git stash pop。与 git stash apply不同的是,pop适用,而 移除是最新的隐藏技术。

你也可以引用一个特定的存货,例如。

git stash show stash@{1}

或者

git stash apply stash@{1}

我碰到这种情况,我做了两个藏匿和 他们把枪藏起来了 只是把最后一个藏起来的东西拿出来了,所以我就这么做了

git stash list


git stash pop stash@{1}

这样我就可以看到我所有的修改了!

你在文章中提出了一些不同的问题,其他的回答者对其中一些问题给出了很好的回答。最重要但尚未得到回答的问题是:

我不相信我藏起来的所有文件都被取出来了。有什么我能做的吗?有办法查吗?

比较一下当地的树

我觉得你应该把藏货和你当地的 工作树比较一下。您可以在 stash 命令上设置-p 开关,这样就可以了:

git stash show -p

如果你想要一个特定的,只需要使用它的 Git 藏毒点的名字或者存储列表中的 id:

git stash show -p stash@{3}

也许可以用差速器?

如果你真的对推广你的 Git 技能感兴趣,你可以尝试一下。要查看隐藏的内容和检入主分支 HEAD 的内容之间的区别,可以使用以下 diff:

git diff stash@ master

另一个简洁的命令是—— stat:

git stash list --stat

但我认为简单的答案就是正确的答案。只要使用-p 开关,您就可以看到 把你藏起来了是否被弹回。

git stash show -p stash@{3}