使用git stash show显示消息以及diff

And*_*imm 8 git git-stash

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

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

Bar*_*Bog 7

你在寻找像这样的命令吗?

git stash list -p
Run Code Online (Sandbox Code Playgroud)

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

编辑:如果您知道要显示哪个隐藏号码(即,不显示整个列表但只显示一个特定存储),您可以执行

git stash list -p -n 1 --skip i
Run Code Online (Sandbox Code Playgroud)

i您要显示的存储的数量在哪里.(这将显示stash@{i}).

手册所述,该git stash list命令采用类似的格式化选项git log,请参阅git log手册页

-p选项可确保打印所需的所有信息(您可以按照git log手册页中的说明使用格式化)

该选项-n 1确保只打印一个存储,也请参阅git log手册页

该选项--skip i告诉git不打印第一个istashes,因此,结合选项n 1,只会stash@{i}显示.再次,请参阅git log手册页


Mat*_*Moy 7

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

git show stash@{1}
Run Code Online (Sandbox Code Playgroud)

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

显然,正如其他人已经指出的,git stash list -pgit liststash.showPatch=true(在2.7.0新)也显示DIFF +消息,所有藏匿.