lf would be replaced by crlf_Load Fail-safe Defaults

lf would be replaced by crlf_Load Fail-safe Defaults今天在使用gitadd命令的时候,弹出了一个警告warning:LFwillbereplacedbyCRLFin******(具体的一个文件)原因LF和CRLF其实都是换行符,但是不同的是,LF是linux和Unix系统的换行符,CRLF是window系统的换行符。这就给跨平台的协作的项目带来了问题,保存文件到底是使用哪个标准呢?git为了解决这个问题,提供了一个”换...

今天在使用git add 命令的时候,弹出了一个警告 warning: LF will be replaced by CRLF in ******(具体的一个文件)

原因

LFCRLF其实都是换行符,但是不同的是,LF是linux和Unix系统的换行符,CRLF是window 系统的换行符。这就给跨平台的协作的项目带来了问题,保存文件到底是使用哪个标准呢? git为了解决这个问题,提供了一个”换行符自动转换“的功能,并且这个功能是默认处于”自动模式“即开启状态的。
这个换行符自动转换会把自动把你代码里 与你当前操作系统不相同的换行的方式 转换成当前系统的换行方式(即LFCRLF 之间的转换),这样一来,当你提交代码的时候,即使你没有修改过某个文件,也被git认为你修改过了,从而提示"LF will be replaced by CRLF in *****"

解决

最简单的一种办法就是把自动转换功能关掉即可。
输入命令 :git config core.autocrlf false (仅对当前git仓库有效)
git config --global core.autocrlf false (全局有效,不设置推荐全局)

然后重新提交代码即可。

================ 2021年3月30日15点14分 更新 ============
这篇博客大概是大二的时候写的了,当时对git也是初步接触,现在回过头来看,其实这个warning无伤大雅。在实际编程中,一般来说warning级别的警告都是可以忽略的,这个警告也是。
如果你是一个强迫症,非要去掉所有warning,也是可以。如果你可以保证你的代码不会跨平台开发,(比如你和你的合作者用不同的系统进行开发时,关掉这个自动转换的功能可能会导致代码显示异常),你可以设置关掉自动转换的功能。
当然,结合实际情况来说,你不能保证你的所有代码都不会跨平台开发,因为你不能保证你的合作者用的是跟你一样的系统,这个时候,最好就是只针对当前仓库设置,你只要保证当前仓库的代码不会跨平台开发就行。
就我现在来说,比较建议忽略这个警告。

本文来源man_zuo,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/209755
0

发表评论