Git - LF Will Be Replaced by CRLF

Ashok Chapagai 2021年12月24日
Git - LF Will Be Replaced by CRLF

LF 代表 Line Feed,這是一種在基於 UNIX 的系統中表示行尾的方式。但是在基於 Windows 的系統中,一行通常用 CR(回車)和換行(LF)來表示。

如果你使用基於 UNIX 的系統(macOS)推送程式碼,則會出現此問題,程式碼將以 LF 結尾。

如果你使用 Windows 機器,修改程式碼並提交,它將被 CRLF 替換,因為 git 很聰明並且不希望你在 Windows 作業系統上使用 LF。

同樣,如果警告說 LF Will Be Replaced by CRLF,則會發生相反的情況。提交/切換後,你將丟失基於 Windows 的 CRLF,LF 將替換它。

修復 Git 中的 LF Will Be Replaced by CRLF 警告

修復警告的一種方法是更改​​位於 git 安裝路徑中的配置檔案。code.autocrlf 的值儲存在位於 %ProgramFiles(x86)%\git\etc\gitconfigProgramFiles\git\etc\gitconfig/etc/gitconfiggitconfig 檔案中基於 Linux/Unix 的作業系統。

但是,我們可以在不同情況下解決此問題:

如果你希望在基於 Unix 的作業系統上使用該專案,你應該將 core.autocrlf 的值設定為 true

如果你希望僅在 Windows 下使用該專案,則該標誌應設定為 false

但是,在基於 Unix 的作業系統中,你可以根據需要禁用 core.autocrlf

在進行修改之前,你可以使用以下命令檢查當前設定,

git config core.autocrlf

該命令將給出 truefalseinput 的輸出,你可以根據需要進行更改。

修復整個系統上的 LF Will Be Replaced by CRLF 警告

要解決系統範圍內的問題,你可以使用,

git config --system core.autocrlf false

修復每個使用者的 LF Will Be Replaced by CRLF 警告

要根據使用者解決問題,你可以使用,

git config --global core.autocrlf false

只在專案中修復 LF Will Be Replaced by CRLF 的警告

要解決特定專案的問題,

git config --local core.autocrlf false
作者: Ashok Chapagai
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub