我先fork了一份,然後改了其中的一個文件。
在pull request時出現了下面截圖的情況,為什麼會這樣啊。
我只改了第16行,為什麼在只改一行的情況下這個文件比較的時候會出現整個文件都不一樣了。
过去多啦不再A梦2017-05-02 09:32:24
windows 用的是 CRLF
兩個字符,換行
*unix 和 Mac 預設用的是 LF
換行
所以你的windows機器修改保存後自動把文件中的 LF
改为 CRLF
改為
Git可以在你提交時自動地把行結束符CRLF轉換成LF,而簽出程式碼時把LF轉換成CRLF。用core.autocrlf來開啟此項目功能,如果是在Windows系統上,把它設定成true,這樣當簽出程式碼時,LF就會轉換成CRLF:
$ git config --global core.autocrlf true
Linux或Mac系統使用LF作為行結束符,因此你不想Git 在簽出文件時進行自動的轉換;當一個以CRLF為行結束符的文件不小心被引入時你肯定想進行修正,把core. autocrlf設定成input來告訴Git 提交時把CRLF轉換成LF,簽出時不轉換:
$ git config --global core.autocrlf input
這樣會在Windows系統上的簽出檔案中保留CRLF,會在Mac和Linux系統上,包括倉庫中保留LF。 如果你是Windows程式設計師,且正在開發僅運行在Windows上的項目,可以設定false取消此功能,把回車符記錄在庫中:
$ git config --global core.autocrlf false
你可以參考官方中文文件🎜