正则表达式 – git智能线和单词差异

前端之家收集整理的这篇文章主要介绍了正则表达式 – git智能线和单词差异前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想git diff并将常规的逐行diff与git diff –word-diff结合起来.逐行差异的问题在于,如果我改变一个或两个单词并且保持线条大部分完整,则它们是不必要的 – 分块太粗糙.另一方面,如果我改变整行并使用–word-diff,有时diff算法会混淆并吐出令人难以置信的混乱差异,插入和删除大量单词以“变换”一行到另一行.

有没有办法指定git应该是聪明的,只有–word-diff,如果它实际上是有意义的(当然,在逐行的基础上)?

解决方法

我发现git diff –word-diff或git diff –color-words最聪明的东西是git附带的预定义模式(在–word-diff- regex或diff.word regex中使用).他们给AFAICT带来了不错的成绩.

docs for .gitattributes中给出了预定义的差异驱动程序列表(它们都具有预定义的单词正则表达式).进一步说明了

you still need to enable this with the attribute mechanism,via .gitattributes

因此,要激活所有* .py文件的python模式,可以在repo根目录中发出以下命令(省略Windows下的引号):

echo '*.py diff=python' >> .gitattributes

如果您对不同预设模式的实际情况感兴趣,请查看git’s source code

猜你在找的正则表达式相关文章