1. 程式人生 > 其它 >git提交程式碼前將HTML檔案的程式碼進行格式化

git提交程式碼前將HTML檔案的程式碼進行格式化

今天在用TortoiseGit提交程式碼時發現程式碼自動進行了格式化,格式化後的是很不好看。整個檔案都被修改了,這是git自動轉換換行符導致的問題。

不同作業系統使用的換行符是不一樣的。Unix/Linux使用的是LF,Mac後期也採用了LF,但Windows一直使用CRLF【回車(CR, ASCII 13, \r) 換行(LF, ASCII 10, \n)】作為換行符。而git入庫的程式碼採用的是LF格式,它考慮到了跨平臺協作的場景,提供了“換行符自動轉換”的功能:如果在Windows下安裝git,在拉取檔案時,會自動將LF換行符替換為CRLF;在提交時,又會將CRLF轉回LF。但是這個轉換是有問題的:有時提交時,CRLF轉回LF可能會不工作,尤其是檔案中出現中文字元後有換行符時。

禁用git的自動換行功能:
在本地路徑C:\ Users\ [使用者名稱] \ .gitconfig下修改git配置[core],如果沒有就直接新增上去:

[core]
autocrlf = false
filemode = false
safecrlf = true