格式化
格式化是許多開發人員在協作時,特別是在跨平台情況下,遇到的令人頭疼的細小問題。 由於編輯器的不同或者Windows程序員在跨平台項目中的文件行尾加入了回車換行符, 一些細微的空格變化會不經意地進入大家合作的工作或提交的補丁中。不用怕,Git的一些配置選項會幫助你解決這些問題。
core.autocrlf
假如你正在Windows上寫程序,又或者你正在和其他人合作,他們在Windows上編程,而你卻在其他系統上,在這些情況下,你可能會遇到行尾 結束符問題。 這是因為Windows使用回車和換行兩個字符來結束一行,而Mac和Linux只使用換行一個字符。 雖然這是小問題,但它會極大地擾亂跨平台協作。
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