如何让git忽略更改情况?

我不太确定这里发生了什么,但是有时候我的存储库中的一个特定文件会改变它的名字。 例如,:

之前: 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”已经默认设置了。

问题中描述的情况现在重新出现在Mac OS X,Git版本> = 1.7.4(我认为)。 治愈的办法是设置你的ignorecase = false,然后用手(即“mv myname MyName”)将小写文件(git改变方式,不是Visual Studio)重新命名为UsualCase。

更多信息在这里 。

你可以用这个命令强制git用case-only的方式重命名文件:

 git mv --cached name.txt NAME.TXT 

请注意,这并不会改变Windows分区上签出的副本中的文件,但git会logging更改大小写的内容,您可以提交该更改。 未来的结账将使用新的shell。