如果我想查看<commit>
和工作目录(WD)之间的差异,我会运行
% git diff <commit>
这通常可以满足我的需求,但如果WD包含在创建<commit>
时被跟踪的文件,但现在没有被跟踪(或在当前分支中),那么差异将WD中的这些文件视为/dev/null
。
我可以想象这将是适当行为的情况,但目前我希望能够使用文件列表看到<commit>
与当前目录之间的“真正”差异在<commit>
创建时被跟踪的内容。
是否有某种方法可以指示git diff
以这种方式行事?
编辑:如果有办法隐藏(并稍后恢复)只是索引,可能在git reset <commit>
之前运行git diff <commit>
会在{{之间产生完整的比较1}}和WD,但我还没弄明白如何选择性地隐藏(以后恢复)索引......哦!我想我可以像这样做一个“穷人藏匿”:<commit>
!?
答案 0 :(得分:2)
您可以使用
git diff --diff-filter=M
仅显示已修改的文件而不显示已删除的文件
答案 1 :(得分:0)
如何创建一个临时虚拟提交来保存当前工作树的状态,并与之比较?像
这样的东西$ git checkout -b working-tree-state
$ git add -f .
$ git commit -m "The current working tree state"
$ git diff <commit>