遇到這個錯誤,因為是git的換行符檢查功能。之前代碼是在MAC下,后來放在windows系統下,git add .的時候報這個錯誤。
core.safecrlf
git 提供了一個換行符檢查功能(core.safecrlf),可以在提交時檢查文件是否混用了不同風格的換行符。
- false --- 不做任何檢查;
- warn --- 在提交的時候檢查並報告;
- true --- 在提交時檢查,如果發現混用則拒絕提交;
建議使用最嚴格的true選項。
core.autocrlf
如果用兩台不同系統的電腦寫程序,或者是與他人分工合作時,可能會遇到行尾結束符問題,這是因為windows使用回車和換行兩個字符來結束一行;而Mac和Linux只使用換行一個字符。雖然是個小問題,但是會極大地擾亂跨平台協作。
Git 可以在你提交的時候自動的把行結束符 CRLF轉換成LF,而且代碼簽出時把LF轉換成CRLF。用core.autocrlf來打開此選項,如果是在Windows系統上 ,把它設置為true,這樣當遷出代碼時LF會被轉換成CRLF:
Linux或Mac系統使用LF作為結束符,因此你不想在Git在遷出文件時進行自動轉換;當一個以CRLF為行結束符的文件不小心被引入時肯定想進行修正,把 core.autocrlf 設置成input來告訴Git 在提交時把CRLF轉換成LF,簽出時不轉換:
$ git config --global core.autocrlf input
這樣會在Windows系統上的簽出文件中保留CRLF,會在Mac和Linux系統上,包括倉庫中保留LF。
如果你是Windows程序員,且正在開發僅運行在Windows上的項目,可以設置false取消此功能,把回車符記錄在庫中
引用自:https://blog.csdn.net/feng88724/article/details/11600375