git:列出在两次提交之间更改的文件,但排除空格更改并中断更改

时间:2016-03-31 10:18:40

标签: java git git-diff

我想检索两个提交之间真正更改的所有文件的列表。所以,我想忽略那些只有改变的东西属于以下列表的文件:

  • 添加/删除空行
  • 只包含*(可能是空白)添加/删除的行
  • 缩进更改或行后添加空格
  • 插入任何一行,例如:

在:

System.out.println("bar" + "foo");

之后:

System.out.println("bar" + 
    "foo");

应忽略这些变化。我知道这可能是一项非常复杂的任务,但我不认为我是第一个需要这种事情的人。

更新

在我提出的评论中得到一些帮助之后

git diff --word-diff-regex='^\*|[^[:space:]]' --ignore-space-at-eol --ignore-blank-lines --ignore-space-change --ignore-all-space hash1..hash2 --name-only

但我不太确定这实际上是否能满足我想要的一切。有人可以验证吗?

1 个答案:

答案 0 :(得分:0)

我提出的唯一答案,但它不是很好,它使前一个提交的本地分支格式与新的相同,并以正常方式比较分支和头版。