Git warning: LF will be replaced by CRLF in readme.txt的原因和解决方案
PS: 千萬不要隨意刪.git文件!!! 建議保持自動轉換true
今天用Git bash遇到的問題,看了幾個回答之后發現一個比較有價值的,給大家分享一下,其他很多的回答都有很或多或少存在一些弊端。
原回答地址在stackoverflow上,附上鏈接--http://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf
這里我把主要的東西提煉一下翻譯成中文供大家參考。
?
首先問題出在不同操作系統所使用的換行符是不一樣的,下面羅列一下三大主流操作系統的換行符:
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即可解決這個問題,不過如果你和你的伙伴只工作于Windows平臺或者Linux平臺,那么沒問題,不過如果是存在跨平臺的現象的話,還是需要考慮一下。
但當 core autocrlf為true時,還有一個需要慎重的地方,當你上傳一個二進制文件,Git可能會將二進制文件誤以為是文本文件,從而也會修改你的二進制文件,從而產生隱患。
?
PS:
附上修改autocrlf的命令,以改為true為例:
$ git config --global core.autocrlf true #true的位置放你想使autocrlf成為的結果,true,false或者input總結
以上是生活随笔為你收集整理的Git warning: LF will be replaced by CRLF in readme.txt的原因和解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于用notepad++确认代码中\r\
- 下一篇: Python3解决UnicodeDeco