使用 git stash show 显示消息和差异

Show message as well as diff with git stash show

使用命令行工具 git-stash,如何查看给定存储的存储消息和差异?

git stash 的文档提到您可以配置 diff 的显示方式,但它没有提及除如何创建存储之外的任何消息。

您是否正在寻找像

这样的命令
git stash list -p

这显示了每个存储的差异,以及您提供的消息。

编辑: 如果您知道要显示哪个藏品编号(即不显示整个列表,而是显示一个特定的藏品),您可以

git stash list -p -n 1 --skip i

其中 i 是您要显示的藏匿处的编号。 (这将显示 stash@{i})。

the manual, the git stash list command takes options for formatting similar to git log, see the git log man page

所述

-p 选项可确保打印出您想要的所有信息(您可以按照 git log man page 中的说明调整格式)

选项-n 1确保只打印一个存储,另见git log man page

选项 --skip i 告诉 git 不要打印前 i 个存储,因此,结合选项 n 1,只有 stash@{i} 会被打印显示。再次,请参阅 git log man page

存储存储为普通提交,因此您可以使用常用的 Git 命令来显示它,例如:

git show stash@{1}

显示 stash@{1} 的消息和差异。由于存储存储为有两个父项的提交(一个用于索引,另一个用于创建存储时的 HEAD),上面的命令将显示组合差异。

显然,正如其他人已经指出的那样,git stash list -pgit liststash.showPatch=true(2.7.0 中的新功能)也显示 diff + 消息,用于所有存储。