令人困擾的git autocrlf
跨平台的git repo換行問題應該可以列入「每個工程師都會踩到的十大問題」之一。整理一下自己的筆記。
設定範圍
- 在任何地方下
git config --global core.autocrlf會影響到所有專案 - 在repo內下
git config core.autocrlf只會影響到當前的repo
和WSL無關
不論是在windows的cmd與在WSL下git command, 基本上對autocrlf完全沒有影響。這兩種環境差異是在WSL建立檔案的時候預設會用linux line ending, cmd建立檔案是用windows line ending。
了解git的normalize
git的發明人是鼎鼎大名恨透windows的Linuz, 因此git文件中所謂的normalize, 意思是把index內的檔案的line ending轉化成unit style.