我希望快速了解我的存储库中的本地更改,但我不希望显示已删除文件的差异,因为每一行都是减号。
基本上,我想要像'git diff HEAD <list of modified files only>'
这样的东西。在理想的世界中,它将在删除和添加的文件列表之前,但不显示其中的差异。
我通过编写实用程序来实现此目的的大部分内容:
git diff HEAD `git status | grep modified | cut -d : -f 2`
当我想知道是否有一些git-y方式来代替它。有没有我失踪的旗帜?我也喜欢保留颜色输出。
答案 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也可能很有趣)