假设我在 master 的一个分支中,称为“my_new_stuff”。我有一种感觉,我可能在里面藏了一些东西。我担心如果我这样做git stash pop
并且我没有存放任何东西,它会将大量不需要的垃圾推入我的工作文件夹。
我可以查看是否有隐藏的更改而不取消隐藏它们吗?
谢谢,最大
stash 以与提交相同的方式存储快照。您可以使用以下命令查看存储的内容
git stash list
您可以使用符号引用这些快照stash@{N}
或使用显示的哈希值。您可以使用任何适用于 stash 提交的 Git 命令。例如
git diff master stash@{0}
master
如果您在分支中应用它,将显示最新的存储将添加/删除到分支中。
这不是一个完整的答案,而是我使用上面 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