解決斷行問題

  1. 檢查是否有 .gitattributes 檔
  2. 刪除.git\ms-persist.xml
  3. 執行指令,設定自動轉換斷行符號:
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檔案

results matching ""

    No results matching ""