18

假设我在 master 的一个分支中,称为“my_new_stuff”。我有一种感觉,我可能在里面藏了一些东西。我担心如果我这样做git stash pop并且我没有存放任何东西,它会将大量不需要的垃圾推入我的工作文件夹。

我可以查看是否有隐藏的更改而不取消隐藏它们吗?

谢谢,最大

4

2 回答 2

37

stash 以与提交相同的方式存储快照。您可以使用以下命令查看存储的内容

git stash list

您可以使用符号引用这些快照stash@{N}或使用显示的哈希值。您可以使用任何适用于 stash 提交的 Git 命令。例如

git diff master stash@{0}

master如果您在分支中应用它,将显示最新的存储将添加/删除到分支中。

于 2013-06-17T17:05:54.307 回答
8

这不是一个完整的答案,而是我使用上面 Peter Lundgren 的答案制作的一个小脚本,我发现它非常有用:当我切换分支时,它会告诉我是否隐藏了更改。

in .git/hooks/post-checkout

#!/bin/sh
branch=$(git rev-parse --abbrev-ref HEAD)
stashes=`git stash list | grep "WIP on $branch"`
if [ "$stashes" ]
then
  echo "You have the following stashes for this branch:"
  echo $stashes
fi
于 2017-01-19T16:20:54.240 回答