2022年7月13日 星期三

Git - 改變目錄名稱的大/小寫

話說有天心血來潮,想要把自己某個 side project的資料夾名稱從大寫的 Config改成小寫的 config。 但手動改成小寫後,git status指令的狀態不會有任何變化,於是查了一下,發現可以使用 git mv 指令來達到我要的效果。


$ git mv ./Config ./config1
$ 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)

git 以為是要把當前的 ./Config移動到 ./config下,會出現 fail。

而改變檔案名稱的大/小寫是可以直接使用 git mv的:

$ git mv a.txt A.txt

補充:
git的大小寫名稱行為似乎是跟 OS的檔案系統本身是不是 case sensitive有關。
透過 git config能改變 git case sensitive的行為。

沒有留言:

張貼留言