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


当前回答

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

git difftool stash HEAD

其他回答

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

git diff stash@{0}^!

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

根据您想要将存储与(本地工作树/父提交/头提交)进行比较的内容,实际上有几个命令可用,其中好的旧git diff和更具体的git存储显示:

Compare stash with ↓ git diff git stash show
Local working tree git diff stash@{0} git stash show -l
Parent commit git diff stash@{0}^ stash@{0} git stash show -p
HEAD commit git diff stash@{0} HEAD /

虽然git stash show乍一看更友好,但git diff实际上更强大,因为它允许为更集中的diff指定文件名。我个人在zsh-git插件中为所有这些命令设置了别名。

要查看最新的存储:

git stash show -p

要查看任意存储:

git stash show -p stash@{1}

此外,我使用gitdiff将存储与任何分支进行比较。

您可以使用:

git diff stash@{0} master

查看与分支主机相比的所有更改。或者您可以使用:

git diff --name-only stash@{0} master

仅查找更改的文件名。

以防万一,要比较工作树和存储库中的文件,请使用以下命令

git diff stash@{0} -- fileName (with path)

这适用于git 1.8.5.2版:

git diff stash HEAD