如何查看取消隐藏将对当前工作树所做的更改?我想知道在应用它们之前将进行哪些更改!


当前回答

如果你有diff工具(比如beyond compare)

git difftool stash HEAD

其他回答

如果隐藏的更改所基于的分支在此期间发生了更改,则此命令可能有用:

git diff stash@{0}^!

这会将隐藏与它所基于的提交进行比较。

如果你有diff工具(比如beyond compare)

git difftool stash HEAD

不管好坏这可能对所有其他答案都有点多余,并且与当场接受的答案非常相似;但也许这会帮助别人。

git stash show--帮助将为您提供所需的一切;包括隐藏显示信息。

显示[<stash>]将存储中记录的更改显示为存储状态与其原始父级之间的差异。如果没有,则显示最新的。默认情况下,该命令显示diffstat,但它将接受gitdiff已知的任何格式(例如,git stash show-p stash@{1}以补丁形式查看第二个最新的stash)。您可以使用stash.showStat和/或stash.showPatch配置变量来更改默认行为。

这适用于git 1.8.5.2版:

git diff stash HEAD

一种不移动任何东西的方法是利用补丁可以读取gitdiff(基本上是统一的diff)这一事实

git stash show -p | patch -p1 --verbose --dry-run

这将向您展示补丁通常会做什么的一步一步的预览。这样做的额外好处是,补丁也不会阻止自己将补丁写入工作树,如果出于某种原因,您确实需要git在修改之前停止提交,请继续删除,然后按照详细的说明运行。