2008-09-09 68 views
71

我不太确定这里发生了什么,但是有时候我的存储库中的某个文件会改变它的名称。例如,:如何让git忽略大小写变化?

前:File.h

后:file.h

我真的不关心为什么发生这种情况,但这会导致混帐认为这是一个新的文件,然后我得走了并更改文件名称。你可以让git忽略大小写更改吗?

[编辑] 我怀疑这是Visual Studio中做一些奇怪的与该特定文件,因为它似乎当我打开最常发生变化后保存。但是我没有办法修复VS中的错误,但是git应该更有能力,我希望。

+0

回复:Visual Studio以全小写保存文件 您正在使用哪个版本的Visual Studio?最后我检查了这在2008年版本中似乎更好。在2005年,当通过调试器而不是解决方案资源管理器打开文件时,似乎发生了这个错误。 – 2008-09-10 06:43:13

+0

其实是的,这是2005年。虽然没有升级的机会。 – 2008-09-10 19:53:46

回答

133

由于1.5.6版本存在的.git/config

例如所述[core]部可用一个ignorecase选项添加ignorecase = true

要改变它只是一个回购协议,从该文件夹运行:

git config core.ignorecase true 

要全局更改:

git config --global core.ignorecase true 
+18

git config core.ignorecase true 或 git config --global core.ignorecase true 要全局应用。 – 2008-10-10 22:33:21

10

在Git版本1.6.1.9,因为我发现,“窗口在配置中ignorecase = true已被默认设置

3

问题中描述的情况现在再次出现在Mac OS X中,git version> = 1.7.4(我认为)是设置你的ignorecase = false,然后用手重新命名小写文件(那个git改变了方式,而不是Visual Studio)到他们的UsualCase中(即。 'mv myname MyName')。

更多信息here

4

您可以强制混帐的文件使用此命令重命名的情况下,唯一的办法:

git mv --cached name.txt NAME.TXT 

注意这不会对Windows分区更改文件的情况下,你签出副本,但是git会记录大小写变化,并且您可以提交更改。未来的结账将使用新的外壳。