CRLF與LF解析


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

CRLF

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

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

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

 

windnow unix mac等平台換行符不同: 

 

 

 

可以通過git全局設置修改使用的換行符問題,來支持跨平台合作開發項目(window和mac):

1> AutoCRLF

#提交時轉換為LF,檢出時轉換為CRLF

git config --global core.autocrlf true   

 

#提交時轉換為LF,檢出時不轉換

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM