git项目中统一换行符风格

2019-06-10  本文已影响0人  YouthInXian

Git 由大名鼎鼎的 Linus 开发,最初只可运行于 * nix 系统,因此推荐只将 UNIX 风格的换行符保存入库。但它也考虑到跨平台协作的场景,并且提供了一个“换行符自动转换”功能。这个功能默认处于“自动模式”,当你在签出文件时,它试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。

在git更新文件时,LF的换行符会被更换为CRLF,提交时,将CRLF自动改为LF。

关于CRLF和LF:

Windows操作系统采用两个字符来进行换行,即CRLF;Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;另外,MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行。

在项目中结合eslint后,经常出现Delete CR的报错

eslint编译报错

说明当前代码中的换行符是CRLF,但是eslint要求是LF的换行符。

结合自动git提交和拉取自动会修改换行格式,说明:

仓库中的换行符是LF,但是在更新的时候被改为自动CRLF了。

所以需要关闭这个自动转换的功能(有三种方式),让代码风格变得完全自主可控:

命令行方式如下:

git config --global core.autocrlf false

如果你使用其他的UI工具,请看其他两种方式。

修改编译器,webstorm如下:

webstorm设置

现在,git更新和提交时不会修改换行,编译器中也是LF的换行。

统一为CRLF是同样的道理。

参考

上一篇下一篇

猜你喜欢

热点阅读