標簽: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