core.autocrlf配置
假如你正在Windows上寫程序,又或者你正在和其他人合作,他們?cè)赪indows上編程,而你卻在其他系統(tǒng)上,在這些情況下,你可能會(huì)遇到行尾結(jié)束符問題。這是因?yàn)閃indows使用回車和換行兩個(gè)字符來結(jié)束一行,而Mac和Linux只使用換行一個(gè)字符。雖然這是小問題,但它會(huì)極大地?cái)_亂跨平臺(tái)協(xié)作。
- Git可以在你提交時(shí)自動(dòng)地把行結(jié)束符CRLF轉(zhuǎn)換成LF,而在簽出代碼時(shí)把LF轉(zhuǎn)換成CRLF。用core.autocrlf來打開此項(xiàng)功能,如果是在Windows系統(tǒng)上,把它設(shè)置成true,這樣當(dāng)簽出代碼時(shí),LF會(huì)被轉(zhuǎn)換成CRLF:
$ git config --global core.autocrlf true
- Linux或Mac系統(tǒng)使用LF作為行結(jié)束符,因此你不想 Git 在簽出文件時(shí)進(jìn)行自動(dòng)的轉(zhuǎn)換;當(dāng)一個(gè)以CRLF為行結(jié)束符的文件不小心被引入時(shí)你肯定想進(jìn)行修正,把core.autocrlf設(shè)置成input來告訴 Git 在提交時(shí)把CRLF轉(zhuǎn)換成LF,簽出時(shí)不轉(zhuǎn)換:
$ git config --global core.autocrlf input
這樣會(huì)在Windows系統(tǒng)上的簽出文件中保留CRLF,會(huì)在Mac和Linux系統(tǒng)上,包括倉庫中保留LF。
- 如果你是Windows程序員,且正在開發(fā)僅運(yùn)行在Windows上的項(xiàng)目,可以設(shè)置false取消此功能,把回車符記錄在庫中:
$ git config --global core.autocrlf false