git-diff刚好超过匹配正则表达式的

时间:2019-05-09 14:47:14

标签: regex git filtering git-diff

git diff是否有任何选项可以允许只考虑符合某些特定条件的帅哥(例如正则表达式)?

我希望diff仅向我展示大块头,例如,以与正则表达式.*<<<special_diff.*匹配的行开始,以与正则表达式.*\sspecial_diff>>>匹配的行结束

我正在寻找能够做到这一点的解决方案,以保持性能快速并保持简单。

注意:它应该能够匹配多行,这样我就可以匹配特定分隔符之间的多行文本块(成块)。

匹配块是否包含完整的块(打开+关闭定界符);例如,匹配由<body></body>分隔的多行块。

1 个答案:

答案 0 :(得分:1)

使用git diff -Gregexp。示例:提交5c6d3a9@mimedecode包含3个块。如果我运行git diff 5c6d3a9~ 5c6d3a9,我会看到全部3。

我可以使用git diff -GReplaced 5c6d3a9~ 5c6d3a9过滤它们,但我只看到这3个大块中的2个。使用git diff -Greplaced 5c6d3a9~ 5c6d3a9时不会显示任何内容,因为默认情况下正则表达式搜索区分大小写。要使其不区分大小写,请添加-igit diff -Greplaced -i 5c6d3a9~ 5c6d3a9;这又产生了2个大块。