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

Ale*_*man 57 git shell file-diffs

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

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

通过编写实用程序来实现此目的,我大部分都是这样做的:

git diff HEAD `git status | grep modified | cut -d : -f 2`
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*ing 84

您可以使用该--diff-filter选项并指定除"D"(已删除)条件以外的所有条件:

$ git diff --diff-filter=d

  • --diff-filter = M仅用于修改 (14认同)
  • 或者只是`git diff --diff-filter = d` (11认同)
  • `--diff-filter`的文档:https://git-scm.com/docs/git-diff#git-diff---diff-filterACDMRTUXB82308203 (2认同)

Max*_*asy 23

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


nkt*_*ssh 23

张贴几乎相同的答案Dan Moulding,但你可能要指定你什么也不想要展示,并隐藏删除的文件将是:

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