在git diff中显示staged和working tree?
如果我运行git diff
我会看到工作树中的更改,如果我运行git diff --staged
(或者--cached
),那么我会看到正在执行的更改(w / git add
),但是有没有办法使用git diff
去看所有在一起?
有没有办法使用git diff来一次查看所有内容?
有Git 2.4.0+(2015年4月)。
参见Michael J Gruber mjg
提交mjg
:
commit
/ status
:使用-v -v
(或-vv
)显示index-worktree diff
给定-v
时,长格式的git commit
和git status
显示HEAD和索引之间的差异。 这允许预览提交。
他们还列出了跟踪文件与unstaged更改,但没有差异。
引入' -v -v
'(或-vv
), 除了 HEAD
索引diff 之外 ,它还显示索引和工作树之间的差异。 这允许查看可能从提交中遗漏的未分离的更改。
在' -v -v
'(或-vv
)的情况下,增加标题行
Changes to be committed:
和
Changes not staged for commit:
在diff之前插入,与状态部分相同; 后者以50 *为单位-
以使其突出更多。
在OP的情况下,一个简单的git status -v -v
(或者git status -vv
)将会显示staged和unstaged diffs。
如果您的意思是工作树和HEAD提交之间的变化(即,一起进行了分阶段和非分阶段更改),则只需完成以下操作:
git diff HEAD
漫反射视觉差异工具可以做到这一点:如果一些但不是所有的变化都展示出来,它将显示三个窗格。 在冲突的情况下,甚至会有四个窗格。
用它来调用它
diffuse -m
在你的Git工作副本中。
如果你问我,我已经看到了十年来最好的视觉差异。
链接地址: http://www.djcxy.com/p/50875.html上一篇: Show both staged & working tree in git diff?
下一篇: Git diff HEAD vs