我想检查一个隐藏,并找出它会做出什么改变,如果我将它应用到工作树在其当前状态。
我知道我可以在stash上做一个git差异,但这向我展示了工作树和stash之间的所有差异,而我只是想知道stash应用将会改变什么。
我想检查一个隐藏,并找出它会做出什么改变,如果我将它应用到工作树在其当前状态。
我知道我可以在stash上做一个git差异,但这向我展示了工作树和stash之间的所有差异,而我只是想知道stash应用将会改变什么。
当前回答
您可以通过以下命令查看所有的存储列表:
$ git stash list
stash@{0}: WIP on dev: ddd4d75 spelling fix
stash@{1}: WIP on dev: 40e65a8 setting width for messages
......
......
......
stash@{12}: WIP on dev: 264fdab added token based auth
最新藏的是第一个。
您可以简单地选择上述列表中提供的stash的索引n,并使用以下命令查看已存储的详细信息
git stash show -p stash@{3}
同样的,
git stash show -p stash@{n}
也可以使用以下命令检查diff:
git diff HEAD stash@{n} -- /path/to/file
其他回答
除了gitk的建议在是否可以预览隐藏内容在git?你可以安装tig并调用tig stash。这个免费/开放的控制台程序还允许你选择哪个收藏进行比较
查看已存储更改的列表
git stash list
用于查看特定存储中更改的文件列表
git stash show -p stash@{0} --name-only
用于查看stash中的特定文件
git show stash@{0} path/to/file
除了现有的答案,建议使用(显示第三个到最后一个藏匿物的差异)
git stash show -p stash@{2}
注意,在git-stash文档中,它是这样写的
存储也可以通过指定存储索引来引用(例如,整数n等价于stash@{n})。
因此,也可以使用(这相当于上面的命令)
git stash show -p 2
这也可以避免一些Powershell问题。
我喜欢用gitk的图形用户界面来可视化git回购。您可以查看存储的最后一项:
gitk stash
你也可以使用查看你所存储的任何更改(由git stash list列出)。例如:
gitk stash@{2}
在下面的屏幕截图中,您可以在左上方看到作为提交的隐藏,在提交历史中它来自何时和何处,右下方是修改的文件列表,左下方是逐行差异。与此同时,赃物还藏在那里。
你可以用gitlen扩展查看VSCode中隐藏的更改
gitlen存储的截图