因為某個 repo. 底下有二個大小寫不同的檔案:
$ ls
readme.md
README.md
git 顯示檔案有異動:
$ git status
modified: readme.md
確定檔案內容有問題,強制從 repo. 中拉出 readme.md:
$ git checkout -- readme.md
checkout 以後,換成 README.md 有異動:
$ git status
modified: README.md
看起來是 case-insensitive 的問題,先強制讓 git 區分大小寫:
$ git config --global core.ignorecase false
可惜還是沒有效果。
後來才知道 Mac OS 的檔案系統 HFS+ 中,預設是不區分大小寫的。
也可在格式化時可以另外設定成 case-sensitive,但有可能會造成部分程式無法正常運作。
Ref:
可以建立 virtual disk,並在格式化時選擇可以區分大小寫的檔案系統,然後在掛載來存放程式碼
How do I commit case-sensitive only filename changes in Git?
原始噗浪討論串:
http://www.plurk.com/p/kw6iwu