Git 解決出現 warning: LF will be replaced by CRLF … The file will have its original line endings in your working directory.
在 windows,git add 可能會出現 LF will be replaced by CRLF 錯誤訊息
warning: LF will be replaced by CRLF ... The file will have its original line endings in your working directory.
原因是因為 windows 所使用的換行符號是 CRLF
Git 會在提交的時候為了將換行符號統一,將 CRLF 轉換為 LF,並且會在偵測到需轉換時,會提出警示訊息
若不希望出現此錯誤警示,不要將 CRLF轉換為LF,則可以執行以下指令:
rm -rf .git
git config --global core.autocrlf false
git init
git add .
但原則上,不建議將這個動作關閉
建議可以試試以下作法
git config --global core.autocrlf true
git config --global core.safecrlf true
再將LF轉換為CRLF
##[LF轉換為CRLF方法一]
用 NodePad++ 的 [檢視>特殊字元>顯示行尾字元(EOL)]
Ctrl + H 開啟取代功能,選取增強模式(\n,\r,\t,..),並且
搜尋目標 “\r” 取代為空白 搜尋目標 “\n” 取代為"\r\n"
[LF轉換為CRLF方法二]
使用批次刪除方式,一次做完
下載 (DOS2UNIX and UNIX2DOS for Windows)[http://www.bastet.com/uddu.zip] 並且解壓縮到專案根目錄
開啟命令列視窗且輸入以下指令:
for /f %f IN ( 'dir /b /s *.htm *.html *.css *.js *.txt *.cs *.aspx *.svg *.cshtml' ) DO @unix2dos %f
處理完成後,再將 UNIX2DOS.exe 和 UNIX2DOS.c 檔案刪除
https://help.github.com/articles/dealing-with-line-endings/ https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git