如果我运行,git diff
我会看到我的工作树中的更改,如果我运行git diff --staged
(或者--cached
),那么我会看到暂存的更改(w/ git add
),但是有没有办法git diff
一次性查看所有内容?
问问题
23578 次
3 回答
80
如果您的意思是工作树和您的 HEAD 提交之间的更改(即同时进行分阶段和非分阶段更改),只需执行以下操作:
git diff HEAD
于 2012-10-24T20:48:15.443 回答
34
有没有办法使用 git diff 一次性查看所有内容?
有,使用 Git 2.4.0+(2015 年 4 月)。
请参阅Michael J Gruber的提交 4055500:mjg
commit
/ :用(或)status
显示索引工作树差异-v -v
-vv
git commit
并git status
以长格式显示 HEAD 和给定索引之间的差异-v
。这允许预览要进行的提交。他们还列出了具有未暂存更改但没有差异的跟踪文件。
引入 '
-v -v
' (或),它除了显示索引差异外,还显示-vv
了索引和工作树之间的差异。这允许审查提交中可能缺少的未暂存更改。HEAD
在 '
-v -v
' (或-vv
)的情况下,附加标题行Changes to be committed:
和
Changes not staged for commit:
插入到差异之前,与状态部分中的差异相同;后者前面加上 50*
-
以使其更加突出。
在 OP 的情况下,一个简单的git status -v -v
(or git status -vv
) 将显示分阶段和非分阶段的差异。
于 2015-03-18T07:30:06.450 回答
4
漫反射视觉差异工具可以做到这一点:如果部分但不是全部更改已上演,它将显示三个窗格。在发生冲突的情况下,甚至会有四个窗格。
调用它
diffuse -m
在你的 Git 工作副本中。
如果你问我,十年来我见过的最好的视觉效果。
于 2012-10-24T20:47:51.340 回答