相信用Git的人对这个问题非常了解了,如果团队没做好约定,或者新人不太会用git,用的又是windows,git又没有开启autocrlf,那么当队友修改了代码提交之后,那画面真的是不忍直视。
所以索性将IDE的默认换行符设置为LF,一劳永逸;
1.IDEA
File--》Other Settings--》Default Settings--》Editor--》Code Style--》Line separator
今天发现有人点赞这篇文章,看了一下之后发现设置路径已经不太一样了
加上一个IDEA 2019.1版本的设置路径,供参考
File--》Settings--》Editor--》Code Style--》Line separator
设置为Unix and OS X(\n)
2.VS Code
设置--》用户设置--》文本编辑器--》文件--》eol--》
设置为\n
或者直接搜索files:eol进行设置
3.git设置
在从git上clone项目时,用vscode打开项目,发现报了好多错误,发现是由于windows下,使用vscode默认打开的格式为CRLF,而克隆的项目必须为LF格式,于是就开始查询LF与CRLF的区别,以及如何转换。
CRLF: 是carriagereturnlinefeed的缩写。中文意思是回车换行。
LF: 是line feed的缩写,中文意思是换行。
CR: 是carriagereturn的缩写。中文意思是回车。
为什么换行回车会引出这么多的问题呢,主要的原因在于操作系统之间的分歧:
早期的mac系统使用CR当做换行,现在也已经统一成了LF
Unix(包含现在大量使用的linux)系统使用LF
windows系统使用LFCR当做换行
也正是因为不同系统的分歧,在多人协作共同开发的时候,可能导致提交代码时候产生问题。
git为了防止以上问题扰乱跨平台合作开发,使用命令可以转化LF和CRLF
具体体现为:
git config --global core.autocrlf true
Git可以在你push时自动地把行结束符CRLF转换成LF,而在pull代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF
git config --global core.autocrlf input
Linux或Mac系统使用LF作为行结束符;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git 在push时把CRLF转换成LF,pull时不转换
git config --global core.autocrlf false
在本地和代码库中都保留CRLF,无论pull还是push都不变,代码库什么样,本地还是什么样子
配置完毕以后重新从代码库拉取代码 重启vscode