CR:Carriage Return 回车
LF:Line Feed 换行
EOL: End Of Line
平台 | 代码 | 数值 | 转义字符 |
---|---|---|---|
Windows | CRLF | 13 10 | \r\n |
Linux/Unix | LF | 10 | \n |
Mac OS | CR | 13 | \r |
- Mac OS X 开始,也使用 LF 做换行符。
Git 相关配置项
core.eol
,换行符,可选:lf,crlf,native(根据系统判断,默认)core.safecrlf
,是否接受非 LF 换行,可选:true(拒绝),false(允许),warn(警告,默认)core.autocrlf
,是否自动转换换行符,可选:true(push lf,pull crlf),false(默认),input(push lf)
Linux 上,这三个配置项的默认值就非常恰当了,不用修改。
代码中的换行符应该由开发者自己判断、处理,工具提醒一下就行了。
如果项目组有共识,那么使用一个共同的配置也可以,比如:
git config --global core.eol lf
git config --global core.safecrlf true
git config --global core.autocrlf input
# 如果 CRLF 转换,会有警告提示:
# warning: in the working copy of 'README.md', CRLF will be replaced by LF the next time Git touches it