git diff
是否有任何选项可以允许只考虑符合某些特定条件的帅哥(例如正则表达式)?
我希望diff仅向我展示大块头,例如,以与正则表达式.*<<<special_diff.*
匹配的行开始,以与正则表达式.*\sspecial_diff>>>
匹配的行结束
我正在寻找能够做到这一点的解决方案,以保持性能快速并保持简单。
注意:它应该能够匹配多行,这样我就可以匹配特定分隔符之间的多行文本块(成块)。
匹配块是否包含完整的块(打开+关闭定界符);例如,匹配由<body>
和</body>
分隔的多行块。
答案 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
时不会显示任何内容,因为默认情况下正则表达式搜索区分大小写。要使其不区分大小写,请添加-i
:git diff -Greplaced -i 5c6d3a9~ 5c6d3a9
;这又产生了2个大块。