Git diff:忽略以单词开头的行

ser*_*gej 2 regex git git-diff

正如我在这里学到的,我们可以告诉git diff忽略以*using开头的行:

git diff -G '^[[:space:]]*[^[:space:]*]'
Run Code Online (Sandbox Code Playgroud)

我如何告诉 git 忽略以一个或更多(例如:)开头的行* Generated at,而不仅仅是一个字符?

这个文件应该被忽略,它只包含一些微不足道的变化:

- * Generated at 2018-11-21
+ * Generated at 2018-11-23
Run Code Online (Sandbox Code Playgroud)

此文件不应被忽略,它不仅包含微不足道的更改:

- * Generated at 2018-11-21
+ * Generated at 2018-11-23
+ * This line is important! Although it starts with a * 
Run Code Online (Sandbox Code Playgroud)

ser*_*gej 5

Git 正在使用POSIX正则表达式,它似乎不支持环视。这就是@Myys 3 的方法不起作用的原因。一个不太优雅的解决方法可能是这样的:

git diff -G '^\s*([^\s*]|\*\s*[^\sG]|\*\sG[^e]|\*\sGe[^n]|\*\sGen[^e]|\*\sGene[^r]|\*\sGener[^a]|\*\sGenera[^t]|\*\sGenerat[^e]|\*\sGenerate[^d]).*'
Run Code Online (Sandbox Code Playgroud)

这将过滤掉所有以“ * Generated”开头的更改。

测试:https : //regex101.com/r/kdv4V0/3