天天看點

windows git 更改為unix模式換行符決解方法

背景

在各作業系統下,文本檔案所使用的換行符是不一樣的。UNIX/Linux 使用的是 0x0A(LF),但 DOS/Windows 一直使用 0x0D0A(CRLF)作為換行符。

問題

需要把Windows git下模式dos改為unix 。

方法指令

#在vim下面檢視目前文本的模式類型,一般為dos,unix
:set ff

#送出時轉換為LF,檢出時轉換為CRLF
git config --global core.autocrlf true   

#送出時轉換為LF,檢出時不轉換(以上問題使用此指令可解決)
git config --global core.autocrlf input   

#送出檢出均不轉換
git config --global core.autocrlf false      

Windows用CR LF來定義換行,Linux用LF。

CR全稱是Carriage Return ,或者表示為\r, 意思是回車。

LF全稱是Line Feed,它才是真正意義上的換行表示符。

如果用git diff的時候看到^M字元,就說明兩個檔案在換行符上有所差别。

下面簡單的方法可以讓git diff的時候忽略換行符的差異:

git config --global core.whitespace cr-at-eol      

參考: