关于Windows:如何使git忽略大小写更改?

关于Windows:如何使git忽略大小写更改?

How to make git ignore changes in case?

我不太确定这里发生了什么,但有时我的存储库中的特定文件会更改其名称的大小写。 例如。,:

之前:File.h

之后:File.h

我并不在乎为什么会发生这种情况,但这会使git认为它是一个新文件,然后我必须去改回文件名。 您可以让git忽略大小写更改吗?

[编辑]
我怀疑这是Visual Studio对特定文件所做的事情,因为它似乎最经常发生在我更改后打开并保存时。 我没有任何方法可以修复VS中的错误,但是我希望git应该更有能力。


从版本1.5.6开始,在.git/config[core]部分中提供了ignorecase选项。

例如添加ignorecase = true

要只更改一个仓库,请从该文件夹运行:

1
git config core.ignorecase true

全局更改:

1
git config --global core.ignorecase true

您可以使用以下命令强制git以仅区分大小写的方式重命名文件:

1
git mv --cached name.txt NAME.TXT

请注意,这不会更改Windows分区上已签出副本中文件的大小写,但是git记录了大小写更改,您可以提交更改。以后的结帐将使用新的机壳。


在Windows的git版本1.6.1.9中,我发现默认情况下已在配置中设置了" ignorecase = true"。


问题中描述的情况现在在Mac OS X中重新出现,git版本> = 1.7.4(我认为)。解决方法是将您的ignorecase = false设置为手工并将小写的文件(git以此方式更改,而不是Visual Studio)重命名为它们的UsualCase(即" mv myname MyName")。

更多信息在这里。


推荐阅读