这个问题在这里已经有了答案:Is it possible to preview stash contents in git? (17 个回答) 2 年前关闭。
我看到 here 您可以应用/取消应用存储,甚至可以从存储中创建一个新分支。是否可以在不实际应用的情况下简单地查看存储中的内容?
stash
应用程序,而是指应用存储的行为。撇开不清楚的术语不谈,问题是一样的。
git stash show -p stash@{1} >~/.diff && vim ~/.diff
(不必是 vim
。任何文本编辑器,只要您的文本编辑器支持 diff
输出的语法突出显示)。
git stash show -p stash@{1} | view -
view
被别名为 vi
并且 man view
显示 vim
的手册页。 (我将不得不更改我的 .bashrc
以使用您的新技巧(它比我的旧方式 IMO 更好)。)
从 man git-stash
(也可以通过 git help stash
获得):
这个命令隐藏的修改可以用 git stash list 列出,用 git stash show 检查,然后...
show [<stash>]
Show the changes recorded in the stash as a diff between the stashed
state and its original parent. When no <stash> is given, shows the
latest one. By default, the command shows the diffstat, but it will
accept any format known to git diff (e.g., git stash show -p stash@{1}
to view the second most recent stash in patch form).
注意:根据 git-diff
文档,-p
选项会生成 补丁。
列出存储:
git stash list
显示最新存储中的文件:
git stash show
显示最近存储的更改:
git stash show -p
显示命名存储的更改:
git stash show -p stash@{1}
不定期副业成功案例分享
git stash list | awk -F: ‘{ print “\n\n\n\n”; print $0; print “\n\n”; system(“git –no-pager stash show -p ” $1); }’ | less
它在过去对我有很大帮助(清理存储堆栈)。git stash list | awk -F: '{ print "\n\n\n\n"; print $0; print "\n\n"; system("git stash show -p " $1); }'
按 [Q] 退出每个存储。git stash show -p stash@{1}
列出存储中的所有文件。是否可以从存储中查看一个特定的文件?git stash show -p stash@{0} --name-only
仅显示您的第一个存储中的文件名(而不是内容)。git diff stash@{0}^! -- file.txt
之类的东西会这样做。有关详细信息,请参阅 here。