正则表达式 – 忽略与git diff中的字符串匹配的更改
发布时间:2020-12-14 06:33:10 所属栏目:百科 来源:网络整理
导读:我对git中版本控制的大量文件进行了一个简单的更改,我想能够检查没有其他更改正在滑入这个大提交。 这些变化都是形式 - "main()",+ OOMPH_CURRENT_FUNCTION, 其中“main()”可以是任何函数的名称。我想生成不是这种形式的所有更改的差异。 git diff的-G和-S
我对git中版本控制的大量文件进行了一个简单的更改,我想能够检查没有其他更改正在滑入这个大提交。
这些变化都是形式 - "main()",+ OOMPH_CURRENT_FUNCTION, 其中“main()”可以是任何函数的名称。我想生成不是这种形式的所有更改的差异。 git diff的-G和-S选项很接近 – 他们发现与一个字符串或正则表达式匹配的更改。 有没有办法做到这一点? 到目前为止的尝试 另一个question描述了正则表达式如何被否定,使用这种方法我认为命令应该是 git diff -G '^((?!OOMPH_CURRENT_FUNCTION).)*$' 但这只是返回错误消息 fatal: invalid log-grep regex: Invalid preceding regular expression 所以我猜git不支持这个正则表达式的功能。 我还注意到,标准unix diff具有-I选项来“忽略其行匹配RE的更改”。但是我找不到使用unix diff工具替换git自己的diff的正确方法。
由于您说可以找到与您的模式匹配的更改,因此我建议如下:
> git diff> full.txt 如果只有与模式匹配的更改,则full.txt和match.txt应该相同。否则,最后一个diff应突出显示任何不匹配的更改。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |