話說有天心血來潮,想要把自己某個 side project的資料夾名稱從大寫的 Config改成小寫的 config。 但手動改成小寫後,git status指令的狀態不會有任何變化,於是查了一下,發現可以使用 git mv 指令來達到我要的效果。
$ git mv ./Config ./config1
$ git mv ./config1 ./config
$ git mv ./config1 ./config
透過一個過渡的目錄名稱 ./config1來達到我要的效果。還有另一個好處是 git mv之後的檔案都是
git add/rm之後的狀態,接下來直接 commit就行了。
由於 git mv本身就是移動或重新命名檔案或目錄的命令,直接使用:
$ git mv ./Config ./config
Rename from 'config' to 'Config/config' failed. Should I try again? (y/n)
Rename from 'config' to 'Config/config' failed. Should I try again? (y/n)
git 以為是要把當前的 ./Config移動到 ./config下,會出現 fail。
而改變檔案名稱的大/小寫是可以直接使用 git mv的:
$ git mv a.txt A.txt
補充:
git的大小寫名稱行為似乎是跟 OS的檔案系統本身是不是 case sensitive有關。
透過 git config能改變 git case sensitive的行為。
沒有留言:
張貼留言