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

时间:2015-09-27 23:51:30

标签: git git-stash

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

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

2 个答案:

答案 0 :(得分:7)

您是否正在寻找像

这样的命令
git stash list -p

这显示了每个藏匿的差异以及您提供的消息。

修改:如果你知道要显示哪个隐藏号码(即,不显示整个列表而是显示一个特定的藏匿),你可以

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

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

正如the manual中所述,git stash list命令采用与git log类似的格式选项,请参阅git log man page

-p选项可确保打印所需的所有信息(您可以按照git log man page中的说明使用格式进行播放)

选项-n 1可确保只打印一个藏匿处,另请参阅git log man page

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

答案 1 :(得分:7)

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

git show stash@{1}

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

显然,正如其他人已经指出的那样,git stash list -pgit liststash.showPatch=true(2.7.0中的新内容)同时显示了针对所有藏匿处的差异+消息。