1. 程式人生 > >Windows下Git使用報錯:warning:LF will be replaced by CRLF in ××××.××

Windows下Git使用報錯:warning:LF will be replaced by CRLF in ××××.××

ack 技術 urn span .com arr 初始化 pre rect

技術分享

Windows下Git使用報錯:

warning:LF will be replaced by CRLF in ××××.××(文件名)
The file will have its original line ending in your working directory.

翻譯:
在xxx.xx文件中LF將被CRLF替換。
在工作區(working directory)裏,這個文件將會保持它原本的換行符。(line ending:行尾,換行)

  

註解:

LF:Line Feed 換行

CRLF:Carriage Return Line Feed 回車換行鍵

1、不同操作系統下,處理行尾結束符的方法是不同的

  windows下:CRLF(表示句尾使用回車換行兩個字符,即windows下的"\r\n"換行)

unix下:LF(表示句尾,只使用換行

mac下:CR(表示只使用回車

2、Git下處理“換行”(line ending)

  core.autocrlf是git中負責處理line ending的變量,可以設置3個值:true,false,inout。

(1)設置為true【config --global core.autocrlf true

當設置成true時,這意味著你在任何時候添加

(add)文件到git倉庫時,git都會視為它是一個文本文件(text file)。

   它將把crlf變成LF

(2)設置為false【config --global core.autocrlf false

  當設置成false時,line endings將不做轉換操作。文本文件保持原來的樣子

(3)設置為input時,添加文件git倉庫時,git把crlf編程lf。當有人Check代碼時還是lf方式。因此在window操作系統下,不要使用這個設置


綜上,出現上面那個警告的原因是:

  windows中的換行符為CRLF,而Linux下的換行符為LF(使用Git命令行Git Bash,實際上就是相當於linux環境

),所以在執行git add xxx.xx操作時,會出現這個錯誤提示!

解決方法:

  <1>刪除.git 【rm -rf .git

  <2>禁用自動轉換,即將設置:git config --global core.autocrlf false

再重新初始化,並執行添加add操作:

  <3>【git init

  <4> 【git add xxx.xx

Windows下Git使用報錯:warning:LF will be replaced by CRLF in ××××.××