Git repository中,檔名大小寫的重新命名

Git-Logo-1788C

身為一套優秀的版本控制系統,很遺憾的是git對於檔名的處理是大小寫不分的(case-insensitive)

如果只是把program.cs改為Program.cs,用git status會看不到任何改變…

如果自己動手git mv呢?

$ git mv program.cs Program.cs
fatal: destination exists, source=program.cs, destination=Program.cs

是不是很悲劇…?

在網路上有看到一種作法:
$git mv program.cs program.css && git mv program.css Program.cs

不過這也太累了吧Orz…

後來發現加上 --force (-f)的參數就可以搞定這問題了:
$ git mv -f program.cs Program.cs

關於git mv的–force參數說明是這樣的:
Force renaming or moving of a file even if the target exists

看來只能暫時這樣處理了,用到的機會目前看起來也不是很多就是了~

發表迴響