如果我运行git diff
,我会看到工作树中的更改,如果我运行git diff --staged
(或--cached
),那么我会看到已暂存的更改(w / {{ 1}})但有没有办法让git add
一次性看到所有内容?
答案 0 :(得分:58)
如果你的意思是工作树和你的HEAD提交之间的变化(即同时进行了分阶段和非分阶段的变更),这只需要完成:
git diff HEAD
答案 1 :(得分:22)
有没有办法让git diff一次性看到所有内容?
有Git 2.4.0+(2015年4月)。
请参阅commit 4055500中的Michael J Gruber mjg
:
显示index-worktree差异 长格式的
commit
/status
:使用-v -v
(或-vv
)
git commit
和git status
显示HEAD之间的差异 给定-v
时的索引。这允许预览提交。他们还列出了带有非分段更改的跟踪文件,但没有差异。
介绍'
-v -v
' (或-vv
),显示索引和。之间的差异 worktree 另外到HEAD
索引差异。这允许查看提交中可能缺少的未分级更改。在'
-v -v
' (或-vv
),其他标题行Changes to be committed:
和
在差异之前插入Changes not staged for commit:
,它们等于状态部分中的那些;后者之前是50 *
-
,以使其更加突出。
在OP的情况下,一个简单的 git status -v -v
(或git status -vv
)会显示分阶段的和非分页差异。< / p>
答案 2 :(得分:4)
diffuse视觉差异工具可以做到这一点:如果某些但不是所有的更改都被暂存,它将显示三个窗格。在冲突的情况下,甚至会有四个窗格。
用
调用它diffuse -m
在你的Git工作副本中。
如果你问我,十年来我见过的最佳视觉效果。