Git中的AutoCRLF與SafeCRLF換行符問題

Git中的AutoCRLF與SafeCRLF換行符問題

Git中的AutoCRLF與SafeCRLF換行符問題

最近在使用GitHub,發現不時沒有修改過的文件要提交,對比發現文件全部修改,但找不到不一樣的地方。

想可能是換行符的問題,因為Windows和Linux的換行符不一樣,而Git默認應該是Linux的,今天Bing了下,果然是這個問題。

CR回車 LF換行

Windows/Dos CRLF \r\n

Linux/Unix LF \n

MacOS CR \r

解決方法是:打開命令行,進行設置,如果你是在Windows下開發,建議設置autocrlf為true。

2014/08/20 補充:如果你文件編碼是UTF8並且包含中文文字,那還是把autocrlf設置為false,並且把所有文件轉換為Linux編碼(即LF\n),開啟safecrlf檢查。

一、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


分享到:


相關文章: