'git difftool'只包含修改过的文件

Mic*_*ael 7 git

我有很多新文件以及我添加到我的分支中的一些修改过的文件,当我这样做时,git difftool master它会区分所有修改过的文件以及为所有新文件打开.我看到了类似的东西

启动WinMergeU.exe:/ dev/null src/example1.cpp

这是相当恼人的,因为看一看新文件的差异有点无意义.

有没有办法让Git diff修改文件并忽略新文件?

mer*_*011 15

我刚刚测试了这个答案,它看起来同样适用difftool.

git difftool --diff-filter=M
Run Code Online (Sandbox Code Playgroud)


lov*_*ove 6

只是添加到Merlin2011 的答案:)

您正在寻找--diff-filter=M,只显示文件Modified两个分支之间。

来自 man git-diff

--diff-filter=[ACDMRTUXB*]

仅选择符合以下条件的文件

A 添加

C 已复制

D 删除

M 修改

R重命名

T 改变了它们的类型(模式)

未合并

X 未知

B 的配对已损坏

* 全有或全无

可以使用过滤器字符的任何组合。

*(all-or-none)加入组合时,如果有任何文件符合比较中的其他条件,则选择所有路径;如果没有符合其他条件的文件,则不选择任何内容。