我改变了一个目录的大小写,Git似乎没有起作用

我正在开发一个在Git版本控制下的OS X Lion项目。 我有这些小写的目录,然后大写他们(例如emailaddresses => EmailAddresses),但Git似乎并没有认识到这一变化。 当我运行git ls-files和其他命令时,它仍然认为目录是小写的。

这是无害的,还是我应该做一些其他的事情让Git接受这​​个改变?

您可能使用大小写不敏感(但保留情况)HFS +。 我通常是这样工作的:

 $ git mv somename tmpname $ git mv tmpname SomeName 

你可以告诉git通过运行来考虑这个情况

git config core.ignorecase false

如何在Mac上敏感的mv mv

发生这种情况的原因是Mac OS X实现了可帮助您的案例保留和不区分大小写function。

虽然在其他答案中的双重命名build议将起作用,但我build议使用'–force'作为最佳实践结果:

 $ git mv --force somename SomeName 

注意:如果你尝试没有强制选项,git会像这样在你身边:

 $ git mv somename SomeName $ fatal: destination exists, source=somename, destination=SomeName 

在上面的例子中,git命令失败,文件系统或git的索引中没有文件被改变。

尝试在您的.gitconfig文件中将git config选项core.ignorecase更改为false。

这些解决scheme都不适合我。 SourceTree总是创build我的分支与我想要的不同的情况。 所以我如何解决它是:

1 – 在发现者看你的git文件。 你可以在terminal上input:

 - `defaults write com.apple.finder AppleShowAllFiles TRUE` - `killall Finder` 

2 – 重新启动取景器,并转到您的项目目录

3 – 现在只要改变你的文件夹名称,让我们说从function到function。 你去了。