You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

.gitattributes与.git/config组合配置自定义diff规则不生效问题求助

.gitattributes与.git/config组合配置自定义diff规则不生效问题求助

各位大佬好,最近折腾Git的diff自定义配置时碰到个诡异的问题,想请大家帮忙看看:

我在项目根目录的.gitattributes里一开始写了:

*.txt -diff

这个配置是正常工作的——执行git diff时确实会忽略所有.txt文件的差异对比。

后来我想给.txt文件单独配置移动内容的高亮规则,就把.gitattributes改成了:

*.txt diff=test

接着在项目本地的.git/config里添加了自定义的diff规则:

[diff "test"]
    colorMoved = plain

结果奇怪的事情发生了:不管怎么执行git diff.txt文件里移动的内容完全没有按照plain格式变色。但如果我直接把配置改成全局生效的形式,也就是在.git/config里写:

[diff]
    colorMoved = plain

这时候所有文件的diff移动内容都能正常变成plain样式的颜色了。

我自己简单排查了下:

  • 能确定.gitattributes是生效的——毕竟之前的-diff规则完全没问题
  • 也能确定.git/config的配置本身是有效的——全局的colorMoved配置能正常工作

但就是把两者组合起来,针对.txt文件的自定义diff规则就是不生效,我用的Git版本是2.33.0.windows.2

有没有大佬遇到过类似的情况?或者能帮我看看哪里配置错了吗?感激不尽!

火山引擎 最新活动