LF will be replaced by CRLF in 解決辦法


今天用git commit代碼出現了如下所述的錯誤:
LF will be replaced by CRLF in XXX
原因是我提交代碼是別人mac機發給我的代碼。導致換行符不一致導致。
 究其主因是在不同操作系統所使用的換行符是不一樣的,三大主流操作系統的換行符:
Uinx/Linux采用換行符LF表示下一行(LF:LineFeed,中文意思是換行);
Dos和Windows采用回車+換行CRLF表示下一行(CRLF:CarriageReturn LineFeed,中文意思是回車換行);
Mac OS采用回車CR表示下一行(CR:CarriageReturn,中文意思是回車)。
 
在Git中,可以通過以下命令來顯示當前你的Git中采取哪種對待換行符的方式
 
$ git config core.autocrlf
此命令會有三個輸出,“true”,“false”或者“input”
 
為true時,Git會將你add的所有文件視為文本問價你,將結尾的CRLF轉換為LF,而checkout時會再將文件的LF格式轉為CRLF格式。
為false時,line endings不做任何改變,文本文件保持其原來的樣子。
為input時,add時Git會把CRLF轉換為LF,而check時仍舊為LF,所以Windows操作系統不建議設置此值。
 
通過以下命令將core.autocrlf設置為false再commit時就不會提示錯誤了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM