不同系統使用的換行符不一樣,UNIX/Linux ,Mac OS使用 0x0A(LF)作爲換行符,Windows 使用 0x0D0A(CRLF) 作爲換行符。
在跨平臺開發時,換行符發生改變,Git 會認爲整個文件被修改,這就造成我們沒法diff,我們可以通過配置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