最近在使用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檢查。
1、AutoCRLF
#提交時轉換爲LF,檢出時轉換爲CRLF git config --global core.autocrlf true #提交時轉換爲LF,檢出時不轉換 git config --global core.autocrlf input #提交檢出均不轉換 git config --global core.autocrlf false
2、SafeCRLFgit
#拒絕提交包含混合換行符的文件 git config --global core.safecrlf true #容許提交包含混合換行符的文件 git config --global core.safecrlf false #提交包含混合換行符的文件時給出警告 git config --global core.safecrlf warn