1. 程式人生 > >[git] -- warning: LF will be replaced by CRLF in app/app.iml. The file will have its original line endings in your working directory.

[git] -- warning: LF will be replaced by CRLF in app/app.iml. The file will have its original line endings in your working directory.

file 告訴 結束 windows 記錄 換行 錯誤 core HA

遇到這個錯誤,因為是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

[git] -- warning: LF will be replaced by CRLF in app/app.iml. The file will have its original line endings in your working directory.