如何使git-diff和git日志忽略新的和已删除的文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (132)

有时,会有几个修改过的文件,以及一些新的、删除的和/或重命名的文件。做时git diffgit-log我想省略它们,这样我就能更好地发现修改。

实际上,列出新的和已删除的文件的名称,而没有它们的内容将是最好的。对于改名为“新”的“旧”,我想要得到“旧”和“新”之间的区别。

提问于
用户回答回答于

--diff-filter选项对两者都有效。diff还有原木。

我用--diff-filter=M这限制了diff输出仅限于内容修改。

若要检测重命名和副本并在diff输出中使用这些名称,可以使用-M-C分别与RC选择--diff-filter

用户回答回答于
  • 官方文件:

--差-滤波器=[(A,C,D,M,R,T,U,X,B)…​*] 只选择添加(A)、复制(C)、删除(D)、修改(M)、重命名(R)、更改其类型(即常规文件、符号链接、子模块、…​)的文件(T)、未合并(U)、未知(X)或其配对中断(B)的文件。可以使用筛选器字符的任何组合(包括无)。 何时*(全部或无)添加到组合中,如果有任何文件与比较中的其他条件匹配,则选择所有路径;如果没有匹配其他条件的文件,则不会选择任何路径。 此外,这些大写字母也可以降大写以排除.。例如---diff-filter=广告排除了添加和删除的路径。

示例:仅显示添加、更改和修改的文件排除已删除的文件:

git diff --diff-filter=ACM

扫码关注云+社区