15

我试图搜索我的问题,我能做的最接近的事情就是这个。

git Status 两次显示相同的文件 - 但路径斜杠样式不同

但这似乎与我遇到的问题不同。

我正在提交,并注意到同一个文件被列出了两次,但大小写不同。例如,Directory/resource.hDirectory/Resource.h。现在目录中只有一个文件resource.h。如果我通过 Git Extensions 查看文件,它们看起来完全一样。似乎没有另一个隐藏文件,只有一个文件。

因此,我尝试通过删除resource.h文件、提交,然后重新添加文件并再次重新提交来解决此问题。只有一个文件显示为已添加。我以为我解决了这个问题,但现在如果我尝试签出不同的分支,我会收到以下错误。

error: The following untracked working tree files would be overwritten by checkout:
    Directory/Resource.h
Please move or remove them before you can switch branches.
Aborting
Done

我真的不知道从这里做什么,我只使用了几个月的 Git,而且我不需要做任何比合并分支和推拉更复杂的事情。

4

1 回答 1

21

如果您有一个包含ignorecase = false并重命名文件而不使用 git 的 repo,则可能会在 Windows 中发生这种情况。要修复,这应该有效

git mv -f Resource.h resource.h
git commit -m 'fix case'

这应该可以防止它再次发生。

git config core.ignorecase true
于 2012-12-24T04:24:36.297 回答