[Git使用] warning: LF will be replaced by CRLF

遇到這兩個(gè)錯(cuò)誤,是因?yàn)镚it的換行符檢查功能。core.safecrlfGit提供了一個(gè)換行符檢查功能(core.safecrlf),可以在提交時(shí)檢查文件是否混用了不同風(fēng)格的換行符。這個(gè)功能的選項(xiàng)如下:

false - 不做任何檢查
warn - 在提交時(shí)檢查并警告
true - 在提交時(shí)檢查,如果發(fā)現(xiàn)混用則拒絕提交

建議使用最嚴(yán)格的 true 選項(xiàng)。

core.autocrlf假如你正在Windows上寫程序,又或者你正在和其他人合作,他們?cè)赪indows上編程,而你卻在其他系統(tǒng)上,在這些情況下,你可能會(huì)遇到行尾結(jié)束符問(wèn)題。這是因?yàn)閃indows使用回車和換行兩個(gè)字符來(lái)結(jié)束一行,而Mac和Linux只使用換行一個(gè)字符。雖然這是小問(wèn)題,但它會(huì)極大地?cái)_亂跨平臺(tái)協(xié)作。

Git可以在你提交時(shí)自動(dòng)地把行結(jié)束符CRLF轉(zhuǎn)換成LF,而在簽出代碼時(shí)把LF轉(zhuǎn)換成CRLF。用core.autocrlf來(lái)打開此項(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來(lái)告訴 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)上,包括倉(cāng)庫(kù)中保留LF。

如果你是Windows程序員,且正在開發(fā)僅運(yùn)行在Windows上的項(xiàng)目,可以設(shè)置false取消此功能,把回車符記錄在庫(kù)中:

$ git config --global core.autocrlf false
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容