win10与mac,CRLF与LF的坑

我的本地代码接入开发环境后,flywaydb做版本校验时一直报错。

组里其他同事都是用mac做的开发,我用的是windows。

经查,方法org.flywaydb.core.internal.command.DbValidate#DbValidate里,使用了CRC做校验计算。

而windows和mac在这一步时计算结果不一致,导致flyway校验一直不通过。

 

再查,发现是CRLF与LF的区别。LF的文件,我从git上拉下来后默认就转成CRLF了。

如果我把CRLF本地改成LF,那又会导致文件发生变更,需要进行提交,会很麻烦。

 

好在git也知道这两个平台的差别,因此有一套关于这个的配置,就是core.autoclrf这个选项,这个选项有如下配置:

  • true 提交时转换为LF,检出时转换为CRLF
  • false 提交检出均不转换
  • input 提交时转换为LF,检出时不转换

我们只需要将这个属性设置成下面这样就可以了

git config --global core.autocrlf false
 
另外,idea上也坐下配置,保证新建的文件是LF(因为其他同事都是mac,我这边去兼容)
posted @ 2024-11-18 16:45  CodingLyfe  阅读(10)  评论(0编辑  收藏  举报