標簽:tin code war idt unix linu mic line 設置
最近工作中,使用git clone代码后,启动项目,却突然报错,根据提示内容,发现是换行的问题引起的。
報錯如下圖所示:
为什么会出现这种原因呢?发现团队中,大家分别使用了windows系统,Linux系统,MAC OS系统;在不同的操作系统中,换行符并不统一,Linux系统中使用0x0D0A(CRLF),而MAC OS系统起初使用0x0D(CR) 后来和Linux系统保持一致。 而git默认采用Linux的换行符。
git 为了解决不同平台换行符不一致的问题,在 windows 操作系统中默认在检出代码时将 LF 转换为 CRLF,而在提交的时候再转换为 LF,但是看似完美的解決方案在中文环境中却失效了。
多操作系統平台協同開發時,遇到這種問題,應該怎麽辦呢?
git設置
方法一:编译器設置
file — setting — code style — Line separator 选择Unix and macOS
方法二:
使用方法一的时候,突然发现失效了,这个时候,我们就需要去配置git,先了解下git的相关参数:eol autocrlf safecrlf
eol
: 設置工作目录中文件的换行符,有三个值 lf, crlf 和 native(默认,同操作系统)autocrlf
:
true
表示检出是转换CRLF, 提交时转换为 LFinput
表示检出是不转换,提交时转换为 LFfalse
表示不做轉換safecrlf
:
true
表示不允許提交時包含不同換行符warn
則只在有不同換行符時警告false
則允許提價時有不同換行符存在AutoCRLF #提交时转换为LF,检出时转换为CRLF git config --global core.autocrlf true #提交时转换为LF,检出时不转换 git config --global core.autocrlf input #提交检出均不转换 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
配置方法如下:
<!--统一换行符为 lf--> git config --global core.eol lf <!--将自动转换关闭,避免转换失败不能不同进行提交--> git config --global core.autocrlf false <!--禁止混用 lf 和 crlf 两种换行符--> git config --global core.safecrlf true
咦,怎麽啓動項目還不行呢?小夥伴們,注意哦!!!如果已經啓動項目的話,記得重新pull代碼,因爲現有的代碼格式已經轉換了,需要重新配置下哦!
多操作系統平台協同開發時,git的注意事項:不要使用git的換行符自動轉換功能,盡可能保證代碼的換行符都是unix!
人最值得高興的事:父母健在、知己兩三、盜不走的愛人,其他都是假象,別太計較。
河南加油!中國加油!
標簽:tin code war idt unix linu mic line 設置
原文地址:https://www.cnblogs.com/yiyimom0916/p/15065932.html