windows 下代码换行符问题、windows下如何将代码全部从CRLF变成LF
默认的换行符在各操作系统下是不一致的,Windows 是 CRLF(’\r\n’),Mac、Linux是 LF(’\n’)。在一些项目中,会严格限制换行符,比如在项目根目录下 .editorconfig 中设置 end_of_line = lf,当你在 Mac 下开发之后,在 Windows 上 clone 代码时, git 会自动将换行变更为系统默认的换行(’\r\n’),而且还是项目级别的。.
·
默认的换行符在各操作系统下是不一致的,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
关注公众号 止水聊技术,即送技术资料,您的支持是我最大的动力
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)