git 換行符LF與CRLF轉換問題

2021-09-24 19:59:26 字數 1245 閱讀 1319

在各作業系統下,文字檔案所使用的換行符是不一樣的。unix/linux 使用的是 0x0a(lf),早期的 mac os 使用的是0x0d(cr),後來的 os x 在更換核心後與 unix 保持一致了。但 dos/windows 一直使用 0x0d0a(crlf)作為換行符。git提供了乙個「換行符自動轉換」功能。這個功能預設處於「自動模式」,當你在簽出檔案時,它試圖將 unix 換行符(lf)替換為 windows 的換行符(crlf);當你在提交檔案時,它又試圖將 crlf 替換為 lf。git 的「換行符自動轉換」功能聽起來似乎很智慧型、很貼心,因為它試圖一方面保持倉庫內檔案的一致性(unix 風格),一方面又保證本地檔案的相容性(windows 風格)。但遺憾的是,這個功能是有 bug 的,而且在短期內都不太可能會修正。

git config --global core.autocrlf false

git config --global core.safecrlf true

含義:

autocrlf

#提交時轉換為lf,檢出時轉換為crlf

git config --global core.autocrlf true
#提交時轉換為lf,檢出時不轉換

git config --global core.autocrlf input
#提交檢出均不轉換

git config --global core.autocrlf false
safecrlf

#拒絕提交包含混合換行符的檔案

git config --global core.safecrlf true
#允許提交包含混合換行符的檔案

git config --global core.safecrlf false
#提交包含混合換行符的檔案時給出警告

git config --global core.safecrlf warn
idea的設定file -> settings

editor -> code style

line separator (for new lines) ,選擇:unix and os x (\n)

對已使用windows換行符的檔案,可以使用sublime text開啟,

view->line endings,選unix,儲存;

git 換行符LF與CRLF轉換問題

在各作業系統下,文字檔案所使用的換行符是不一樣的。unix linux 使用的是 0x0a lf 早期的 mac os 使用的是0x0d cr 後來的 os x 在更換核心後與 unix 保持一致了。但 dos windows 一直使用 0x0d0a crlf 作為換行符。git提供了乙個 換行符自...

git 換行符LF與CRLF轉換問題

git config global core.autocrlf false git config global core.safecrlf true 含義 autocrlf 提交時轉換為lf,檢出時轉換為crlf git config global core.autocrlf true 提交時轉換為...

git 換行符LF與CRLF轉換問題

git config global core.autocrlf false git config global core.safecrlf true 含義 autocrlf 提交時轉換為lf,檢出時轉換為crlf git config global core.autocrlf true 提交時轉換為...