Dos/Windows系统中的换行符使用的是0x0D0A(CRLF)
,而unix/linux/mac系统中使用的换行符为0x0A(LF)
。
autocrlf
git提供了一个autocrlf
的配置项,用于提交和检出时自动替换换行符,它的可选项有:
true: 提交时转换为linux格式 LF,检出时转换为windows格式 CRLF (windows版本git工具安装时默认采用本选项)
false: 提交检出均不转换
input: 提交时转换为linux格式 LF,检出时不转换
1 | 提交时转换为LF,检出时转换为CRLF |
safecrlf
如果把 autocrlf
选项配置成了 false
,建议将 safecrlf
选项配置为 true
。
safecrlf
选项用于检查提交的文件中包含混合换行符,可选项有:
true: 拒绝提交包含混合换行符的文件
false: 允许提交包含混合换行符的文件
warn: 提交包含混合换行符的文件时进行告警
1 | 拒绝提交包含混合换行符的文件 |
windows的git命令行中提供了 dos2unix 工具可进行换行符转换。
多平台开发时的建议
1 | git config --global core.autocrlf input |