今天用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操作系統不建議設置此值。