windows 下代码换行符问题、windows下如何将代码全部从CRLF变成LF
·
默认的换行符在各操作系统下是不一致的,Windows 是 CRLF(’\r\n’),Mac、Linux是 LF(’\n’)。
在一些项目中,会严格限制换行符,比如在项目根目录下 .editorconfig 中设置 end_of_line = lf
,当你在 Mac 下开发之后,在 Windows 上 clone 代码时, git 会自动将换行变更为系统默认的换行(’\r\n’),而且还是项目级别的。
原因
git 会依据平台自动变更文件换行符,这是项目级别的。
解决办法
配置 git
# windows 下是 autocrlf
#提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true
#提交时转换为LF,检出时不转换
git config --global core.autocrlf input
# 推荐,项目中指定了换行,则在任何平台都只用一种换行 \n
#提交检出均不转换
git config --global core.autocrlf false
SafeCRLF
#推荐,拒绝提交包含混合换行符的文件
git config --global core.safecrlf true
#允许提交包含混合换行符的文件
git config --global core.safecrlf false
#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn
IDE 设置换行
Webstorm 中,File -> Settings -> Editor -> Code Style -> Line separator -> Unix and macOS
关注公众号 止水聊技术,即送技术资料,您的支持是我最大的动力
更多推荐
已为社区贡献2条内容
所有评论(0)