碼迷,mamicode.com
首頁 > Windows程序 > 詳細

git windows下換行符問題 LF與CRLF轉換

時間:2021-07-27 17:46:27      閱讀:0      評論:0      收藏:0      [點我收藏+]

標簽: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, 提交時轉換為 LF
    • input 表示檢出是不轉換,提交時轉換為 LF
    • false 表示不做轉換
  • 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!

 

 

人最值得高興的事:父母健在、知己兩三、盜不走的愛人,其他都是假象,別太計較。

河南加油!中國加油!

 

 

 

git windows下換行符問題 LF與CRLF轉換

標簽:tin   code   war   idt   unix   linu   mic   line   設置   

原文地址:https://www.cnblogs.com/yiyimom0916/p/15065932.html

(0)
(0)
   
舉報
評論 一句話評論(0
登錄后才能評論!
? 2014 mamicode.com 版權所有  聯系我們:gaon5@hotmail.com
迷上了代碼!
4399在线看MV_久久99精品久久久久久久久久_成人又黄又爽又刺激视频_能收黄台的app不收费