加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:48:58 所属栏目:百科 来源:网络整理
导读:我想git diff并将常规的逐行diff与git diff –word-diff结合起来.逐行差异的问题在于,如果我改变一个或两个单词并且保持线条大部分完整,则它们是不必要的 – 分块太粗糙.另一方面,如果我改变整行并使用–word-diff,有时diff算法会混淆并吐出令人难以置信的混
我想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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读