我不太确定这里发生了什么,但是有时候我的存储库中的某个特定文件会改变它的名字。 例如,:
之前: File.h
之后: file.h
我并不在意为什么会发生这种情况,但这会导致git认为这是一个新文件,然后我必须回去更改文件名。 你可以让git忽略大小写更改吗?
我怀疑这是Visual Studio做一些奇怪的特定文件,因为它似乎最经常发生,当我打开并保存更改后。 我没有办法修复VS中的错误,但是git应该更有能力,我希望。
从版本1.5.6开始,在.git/config
的[core]
部分有一个ignorecase
选项
例如添加ignorecase = true
要更改它只是一个回购,从该文件夹运行:
git config core.ignorecase true
全局改变它:
git config --global core.ignorecase true
在windows的git版本1.6.1.9中,我发现config中的“ignorecase = true”已经默认设置了。
你可以用这个命令强制git用case-only的方式重命名文件:
git mv --cached name.txt NAME.TXT
请注意,这并不会改变Windows分区上的签出副本中的文件,但git会记录更改大小写的内容,并且您可以提交该更改。 未来的结账将使用新的外壳。
问题中描述的情况现在重新出现在Mac OS X,Git版本> = 1.7.4(我认为)。 治愈的办法是设置你的ignorecase = false,然后用手(即“mv myname MyName”)将小写文件(git改变方式,而不是Visual Studio)重命名为UsualCase。
更多信息在这里 。