當git上只做文件大小寫重命名的修改時,如何躲坑
阿新 • • 發佈:2017-05-05
function http ner ips %20 error: ace mbed lips
一、 提交時
假設修改ABC.java為Abc.java。
1.1 如果使用git命令進行僅涉及大小寫的重命名
1.1.1 設置git庫為大小寫敏感(不建議)
$ git config core.ignorecase false
|
用這種方法進行重命名,用git status就可以識別出修改了,但是不推薦用這種方式,因為在更新這種修改的時候會有麻煩。
1.1.2 使用git mv命令(僅當core.ignorecase為true時可用)
$ git mv ABC.java Abc.java
$ git status
......
renamed: ABC.java -> Abc.java
|
此時的狀態是renamed,git commit即可。
1.2 如果使用Eclipse進行僅涉及大小寫的重命名
無論core.ignorecase設置為true還是false或者沒有設置該項,修改之後均可正常提交,在進行Commit的時候,對話框中顯示的修改文件列表有:
即刪除ABC.java並增加Abc.java,直接commit然後push即可。
偶爾會出現在Eclipse端修改完之後右鍵commit為灰色的情況,這時候如果使用git status發現有renamed狀態的修改的話,也可以直接在git bash上commit並push。
二、 更新時
可能更多的問題出現在更新時。
2.1 如果使用git命令更新內容
core.ignorecase不為true時會出現如下錯誤:
......
error: The following untracked working tree files would be overwritten by merge:
Abc.java
.......
|
或者在切換分支等操作的時候莫名出現這樣的錯誤,解決方法都是將core.ignorecase設置為true,然後再進行操作。
2.2 如果使用Eclipse更新內容
測試發現無論core.ignorecase如何設置均木有問題。
三、總之
在涉及到只修改文件名大小寫的提交和更新時,
3.1 全部使用Eclipse來進行是最穩妥的;
3.2 如果喜歡使用git命令,將core.ignorecase設置為true即可:
git config core.ignorecase true
|
當git上只做文件大小寫重命名的修改時,如何躲坑