我对 git 中受版本控制的大量文件进行了一次简单的更改,我希望能够检查是否没有其他更改滑入这个大型提交。
变化都是形式
- "main()",
+ OOMPH_CURRENT_FUNCTION,
其中“main()”可以是任何函数的名称。我想生成所有不属于这种形式的更改的差异。
git diff 的 -G 和 -S 选项非常接近——它们会找到与字符串或正则表达式匹配的更改。
有没有好的方法来做到这一点?
迄今为止的尝试
另一个问题描述了如何否定正则表达式,使用这种方法我认为命令应该是
git diff -G '^((?!OOMPH_CURRENT_FUNCTION).)*$'
但这只是返回错误消息
fatal: invalid log-grep regex: Invalid preceding regular expression
所以我猜git不支持这个正则表达式功能。
我还注意到标准的 unix diff 具有 -I 选项来“忽略行都匹配 RE 的更改”。但是我找不到用 unix diff 工具替换 git 自己的 diff 的正确方法。