在git中抑制已删除文件的差异

时间:2010-09-11 18:35:25

标签: git shell file-diffs

我希望快速了解我的存储库中的本地更改,但我不希望显示已删除文件的差异,因为每一行都是减号。

基本上,我想要像'git diff HEAD <list of modified files only>'这样的东西。在理想的世界中,它将在删除和添加的文件列表之前,但不显示其中的差异。

我通过编写实用程序来实现此目的的大部分内容:

git diff HEAD `git status | grep modified | cut -d : -f 2`

当我想知道是否有一些git-y方式来代替它。有没有我失踪的旗帜?我也喜欢保留颜色输出。

4 个答案:

答案 0 :(得分:75)

在Git 1.8.5及更新版本中,您可以使用--diff-filter选项并指定“d”(小写)来指示它排除已删除的文件。

$ git diff --diff-filter=d

在早于1.8.5的Git版本中,您可以使用--diff-filter选项执行此操作并指定除“D”(已删除)标准以外的所有标准:

$ git diff --diff-filter=ACMRTUXB

答案 1 :(得分:23)

与发布的Dan Moulding几乎相同的答案,但您可能想要指定想要显示的内容,而对于隐藏已删除的文件,它将是:

git diff --diff-filter=d

答案 2 :(得分:22)

git diff (-D|--irreversible-delete)将省略已删除文件的diff主体。我认为没有相应的添加文件。

答案 3 :(得分:1)

您也可以使用-M尝试查找已移动的文件

git diff -M -D 

更多信息可能会获得更多信息:git diff --help(选项-B也可能很有趣)