Git中的AutoCRLF與SafeCRLF換行符問題

至尊王者發表於2013-09-16
最近在使用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
 

相關文章