Git配置中autocrlf來處理cslf

2021-09-14 01:16:31 字數 1422 閱讀 4102

遇到這兩個錯誤, 基本上都是叫你將 autocrlf 設定為 false. 但是我覺得這樣很不妥。

如果你的原始檔中是換行符是lf,而autocrlf=true, 此時git add就會遇到 fatal: lf would be replaced by crlf 的錯誤。有兩個解決辦法:

將你的原始檔中的lf轉為crlf即可【推薦】

將autocrlf 設定為 false

如果你的原始檔中是換行符是crlf,而autocrlf=input, 此時git add也會遇到 fatal: crlf would be replaced by lf 的錯誤。有兩個解決辦法:

將你原始檔中的crlf轉為lf【推薦】

將autocrlf 設定為true 或者 false

我的建議:在mac上設定 autocrlf = input, 在windows上設定autocrlf = true(預設值)。

這樣的話,

windows:(true)

提交時,將crlf 轉成 lf再提交;

切出時,自動將lf 轉為 crlf;

mac/linux: (input)

提交時, 將crlf 轉成 lf再提交;

切出時,保持lf即可

這樣即可保證倉庫中永遠都是lf. 而且在windows工作空間都是crlf, 在mac/linux工作空間都是lf.

假如你正在windows上寫程式,又或者你正在和其他人合作,他們在windows上程式設計,而你卻在其他系統上,在這些情況下,你可能會遇到行尾結束符問題。這是因為windows使用回車和換行兩個字元來結束一行,而mac和linux只使用換行乙個字元。雖然這是小問題,但它會極大地擾亂跨平台協作。

git可以在你提交時自動地把行結束符crlf轉換成lf,而在簽出**時把lf轉換成crlf。用core.autocrlf來開啟此項功能,如果是在windows系統上,把它設定成true,這樣當簽出**時,lf會被轉換成crlf:

$ git config --global core.autocrlf true
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取消此功能,把回車符記錄在庫中:

$ git config --global core.autocrlf false

git中配置autocrlf來正確處理crlf

在使用git的過程中,如果我們的專案是跨平台開發的 那麼crlf的處理也許會成為乙個很頭疼的事情,有可能會出以下的莫名其妙的問題 我們的某個開發人員在linux上提交的乙個檔案,當從windows上pull下來後,沒做任何的修改,檢視其status,它的狀態已經是modifed了 即使你使用git ...

git中ssh配置方法

前提 必須先安裝好git for windows 即msysgit 和tortoisegit 一,檢查本地是否已存在ssh cd ssh ls 如果存在id rsa.pub或者id dsa.pub則表示你之前已經建立了,如果沒有,則繼續下一步。二,生成 ssh 開啟git bash cd 一路回車直...

vscode中配置git終端

1 第一步,確保,自己的window系統有安裝全域性安裝git 2 第二步 在vscode中配置git 解決 檔案 首選項 設定 在使用者設定中搜尋 git.path git.path為null 將git.path路徑改為自己計算機中git.path的路徑,以下路徑是我安裝git的位置 查詢git位...