我想检查一个隐藏,并找出它会做出什么改变,如果我将它应用到工作树在其当前状态。
我知道我可以在stash上做一个git差异,但这向我展示了工作树和stash之间的所有差异,而我只是想知道stash应用将会改变什么。
我想检查一个隐藏,并找出它会做出什么改变,如果我将它应用到工作树在其当前状态。
我知道我可以在stash上做一个git差异,但这向我展示了工作树和stash之间的所有差异,而我只是想知道stash应用将会改变什么。
当前回答
Git存储显示将显示您最近存储中更改的文件。您可以添加-p选项来显示差异。
git stash show -p
如果你感兴趣的存储不是最近的,那么在命令的末尾添加存储的名称:
git stash show -p stash@{2}
其他回答
您可以通过以下命令查看所有的存储列表:
$ 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
查看所有的变化在一个未弹出的stash:
git stash show -p stash@{0}
要查看一个未弹出的存储中的特定文件的更改:
git diff HEAD stash@{0} -- path/to/filename.php
git stash show -p <index number of stash stack>
查找索引号:
Git藏匿清单
示例:git stash show -p 1
显示所有存储
仅限文件名:
for i in $(git stash list --format="%gd") ; do echo "======$i======"; git stash show $i; done
所有存储中的完整文件内容:
for i in $(git stash list --format="%gd") ; do echo "======$i======"; git stash show -p $i; done
您将得到彩色的差异输出,您可以用空格(向前)和b(向后)来分页,并用q来关闭当前存储的分页器。如果你想把它放在一个文件中,然后追加>的存储。不同于命令。
是的,查看修改内容的最好方法是保存在这样的文件中:
git stash show -p stash@{0} > stash.txt