解決斷行問題
- 檢查是否有 .gitattributes 檔
- 刪除.git\ms-persist.xml
- 執行指令,設定自動轉換斷行符號:
git config --global core.autocrlf true
git config --global core.safecrlf true
說明autocrlf = true的作用:commit時會自動將CRLF轉成LF;checkout時會自動將LF轉成CRLF
4.先確認工作錄是乾淨的,再執行斷行正規化:
del .git\index
git reset
git status
git add -u .
git add .
git commit -m "Introduce end-of-line normalization"
fatal:LF would be replaced by CRLF錯誤解決方法一:
若執行git add -u . 出現 fatal:LF would be replaced by CRLF錯誤,解決方法:
開啟notepad ++,選「檢視/特殊字元/顯示行尾字元(EOL)」
批次選取多個原始檔,開啟至notepad++
按Ctrl + H,開啟取代視窗,將「\r」取代成空白,並選取「增強模式」,按「取代所有開啟文件」
接著將「\n」取代成「\r\n」,按「取代所有開啟文件」
按功能表「檔案/儲存所有檔案」,再按「檔案/關閉所有檔案
fatal:LF would be replaced by CRLF錯誤解決方法二:
如果你的檔案太多,也可以用批次方式修改:
- 下載DOS2UNIX and UNIX2DOS for Windows
- 解壓縮後,將UNIX2DOS.EXE和UNIX2DOS.C複製到方案的根目錄
開啟cmd,輸入指令:
for /f %f IN ( 'dir /b /s *.htm *.html *.css *.js *.txt *.cs *.aspx *.svg *.cshtml' ) DO @unix2dos %f
完成後,再刪除方案中的UNIX2DOS.EXE和UNIX2DOS.C檔案