2016年1月7日 星期四

Git 修改檔名大小寫

環境:win7 + NetBeans 8.0.2

更改檔名大小寫後,直接在 NetBeans 裡 commit,會因為大小寫不分,沒辦法達到預期效果。

解決方法:
改用指令的方式操作,例如 abc.php 改成 Abc.php
$ git mv -f abc.php Abc.php
使用 git mv 指令修改檔名,不管 core.ignorecase 設定值如何。
commit 後,原本檔案的歷史修改 log 都還會在。
加上 -f 的原因是,在 windows 系統不分大小寫,不加的話會出現目地檔案已存在。

接下來 commit 時也要在指令下執行。在 NetBeans 裡也無法正確執行。
$ git commit


其他注意事項:
如果不經由 git mv 指令修改檔名,而是直接對檔案修改,
在 core.ignorecase 設為大小寫敏感的環境下,可偵測到檔案異動了,
但效果是新增了一個檔案,因此該檔案的歷史記錄會不見。
$ git config core.ignorecase false


參考:
How do I commit case-sensitive only filename changes in Git? - Stack Overflow

沒有留言:

張貼留言