相关疑难解决方法(0)

忽略与git diff中的字符串匹配的更改

我对git中受版本控制的大量文件做了一个简单的更改,我希望能够检查没有其他更改正在进入这个大型提交.

这些变化都是形式

-                       "main()",
+                       OOMPH_CURRENT_FUNCTION,
Run Code Online (Sandbox Code Playgroud)

其中"main()"可以是任何函数的名称.我想生成不属于这种形式的所有更改的差异.

git diff的-G和-S选项非常接近 - 它们发现与字符串或正则表达式匹配的更改.

有没有办法做到这一点?

到目前为止的尝试

另一个问题描述了如何使用这种方法来否定正则表达式,我认为命令应该是

git diff -G '^((?!OOMPH_CURRENT_FUNCTION).)*$'
Run Code Online (Sandbox Code Playgroud)

但这只是返回错误消息

fatal: invalid log-grep regex: Invalid preceding regular expression
Run Code Online (Sandbox Code Playgroud)

所以我猜git不支持这个正则表达式功能.

我还注意到标准的unix diff有-I选项"忽略其行符合RE的变化".但我找不到用unix diff工具替换git自己的diff的正确方法.

regex git diff

28
推荐指数
3
解决办法
6792
查看次数

标签 统计

diff ×1

git ×1

regex ×1