在各作業系統下,文字檔案所使用的換行符是不一樣的。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 的,而且在短期內都不太可能會修正。
1.git設定:
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
2.ide設定使用unix換行符
idea的設定
file->settings
editor->code style
line separator (for new lines),選擇:unix and os x (\n)
對已使用windows換行符的檔案,可以使用sublime text開啟,
view->line endings,選unix,儲存
Linux換行符和Windows換行符的區別與轉換
windows為乙個回車 r cr或 m 和乙個換行 n nl或lf 括號內是其它顯示方法 linux為乙個換行 n mac為乙個回車 r 檢視檔案是否含有windows換行符 windows notepad 檢視 顯示所有符號 linux file test.txt test.txt ascii ...
換行符問題
今天,我總算搞清楚 回車 carriage return 和 換行 line feed 這兩個概念的來歷和區別了。在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個...
回車 換行符
換行符 n 和回車符 r 顧名思義,換行符就是另起一行,回車符就是回到一行的開頭,所以我們平時編寫檔案的回車符應該確切來說叫做回車換行符 n 10 換行 newline r 13 回車 return 也可以表示為 x0a 和 x0d 16進製制 在windows系統下,回車換行符號是 r n 但是在...