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

前: File.h

后: file.h

我不太关心为什么会发生这种情况,但这会导致 git 认为这是一个新文件,然后我必须去将文件名改回来。你能让 git 忽略大小写更改吗?

[编辑]我怀疑 Visual Studio 对该特定文件做了一些奇怪的事情,因为当我在更改后打开并保存它时,这种情况似乎最常发生。然而,我没有任何方法来修复 VS 中的错误,但我希望 git 应该更有能力。

有帮助吗?

解决方案

从 1.5.6 版本开始,有一个 ignorecase 中可用的选项 [core] 的部分 .git/config

例如添加 ignorecase = true

要仅更改一个存储库,请从该文件夹运行:

git config core.ignorecase true

要全局更改它:

git config --global core.ignorecase true

其他提示

在适用于 Windows 的 git 版本 1.6.1.9 中,我发现配置中的“ignorecase=true”已默认设置。

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

git mv --cached name.txt NAME.TXT

请注意,这不会更改 Windows 分区上签出副本中文件的大小写,但 git 会记录大小写更改,并且您可以提交该更改。未来的结帐将使用新的外壳。

问题中描述的情况现在在 Mac OS X 上再次出现,git 版本 >= 1.7.4 (我认为)。解决方法是设置你的ignorecase = false并手动将小写文件(git以这种方式更改,而不是Visual Studio)重命名回它们的UsualCase(即'mv 我的名字我的名字')。

更多信息 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top