引言
- 记录一下使用
git add ./时候遇到的应该说是Warning警告,但是再用一遍指令就正常执行了,但是还是查找一下警告是啥并记录一下吧
warning: LF will be replaced by CRLF in FileName
-
查找该警告显示结果因为结束符(换行符)的原因
- windows中的结束符(换行符)为 CRLF(使用回车+换行符CR+LF来结束一行"\r\n"),而linux/Unix/macOS中的结束符(换行符)为LF(只用换行符来结束一行"\n")
- (其实我也不懂这我一直用的是win来拉取GitHub上自己的项目诶,没用过Linux来操作,怎么回莫名其妙的就换行符错误了)
-
在windows下直接回车出现这个提示后,修改的办法是关掉自动转换功能即可,把 core.autocrlf 设置成false即可(任选其一)
-
git config --global core.autocrlf false(全局有效) -
git config core.autocrlf false(仅对当前git仓库有效) -
git config core.autocrlf(检查下设置结果) -
其实不转换也可以正常执行,结果没什么问题,只是警告看起来不好看而已
- 方法同理
git config --global core.autocrlf True(本地仓库设置去掉global即可)
- 方法同理
自动转换功能
- 上面提到的自动转换功能此处做一个详细介绍就是:因为git进行代码管理的时候可能是多个平台提交的代码,那必然会有格式上不一致的问题,比如上面介绍的结束符的问题,那如何统一呢?git提供了这个自动转换功能,就是比如你在windows上编辑好以后上传到github后,其他平台比如Linux的同事拉下来的时候就会自动转换成LF的结束符,然后上传你再继续拉取就又换成CRLF,这样就可以保证多平台提交代码了
- 此外,参考文章还提到了关于Linux文件中出现
^M的问题也是因为这个原因引起的,有兴趣的可以看一下,个人处理文件的时候就经常遇到这个字符,可以vim模式下用%s/^M$//g去掉,这个符号是用ctrl+v+m才能打出来