Git Diff

git diff

git diff test master –show-only
git diff test…master –name-status
git diff test…master –stat

其他

查看已经暂存起来的文件(staged)和上次提交时的快照之间(HEAD)的差异
git diff –cached
git diff –staged

d、直接将两个分支上最新的提交做diff
git diff topic master 或 git diff topic..master

e、输出自topic和master分别开发以来,master分支上的changed。
git diff topic…master

Changes that occurred on the master branch since when the topic
branch was started off it

f、查看简单的diff结果,可以加上–stat参数
git diff –stat

–diff-filter=[(A|C|D|M|R|T|U|X|B)…​[]] 仅选择已添加(A),复制(C),删除(D),修改(M),重命名(R)的文件,其类型(即常规文件,符号链接,子模块,…)已更改(T),是未合并(U),未知(X),或已配对破碎(B)。可以使用过滤器字符的任何组合(包括无)。当(全部或全部)添加到组合中时,如果有任何文件与比较中的其他条件匹配,则选择所有路径; 如果没有与其他条件匹配的文件,则不会选择任何内容。

此外,这些大写字母可以降级为排除。例如–diff-filter = ad排除添加和删除的路径。

请注意,并非所有差异都可以包含所有类型。例如,从索引到工作树的差异永远不会有添加条目(因为差异中包含的路径集受限于索引中的内容)。同样,如果禁用了对这些类型的检测,则无法显示复制和重命名的条目。