CRLF與LF解析

window和mac的同窗合做開發項目,會出現git提交/拉取時換行符不一致致使,提示 "the text is identical, but the files do not match, newlines」等字樣,會出現不少文件發生更改,下面說說換行符引發的這個問題.git

CRLFweb

Carriage-Return Line-Feed的縮寫,回車換行的意思ide

  • CR:Carriage Return,對應ASCII 13中轉義字符\r,表示回車
  • LF:Linefeed,對應ASCII 10中轉義字符\n,表示換行
  • CRLF:Carriage Return & Linefeed,\r\n,表示回車並換行

(ASCII碼錶裏也有用newline, nl表示換行的),據傳說,CR、LF最原始的還要追蹤到最先到機械打字機時代,CR回到同一行的紙張最左側的意思,LF表明換一行,將紙張上一一行,兩個組合可不就是換行.spa

 

windnow unix mac等平臺換行符不一樣: unix

 

 

 

能夠經過git全局設置修改使用的換行符問題,來支持跨平臺合做開發項目(window和mac):blog

1> AutoCRLF開發

#提交時轉換爲LF,檢出時轉換爲CRLFinput

git config --global core.autocrlf true   it

 

#提交時轉換爲LF,檢出時不轉換class

git config --global core.autocrlf input   

 

#提交檢出均不轉換

git config --global core.autocrlf false

 

2>SafeCRLF

#拒絕提交包含混合換行符的文件

git config --global core.safecrlf true   

 

#容許提交包含混合換行符的文件

git config --global core.safecrlf false   

 

#提交包含混合換行符的文件時給出警告

git config --global core.safecrlf warn

相關文章
相關標籤/搜索