Git状态显示文件两次但不同的情况

Gra*_*son 10 windows git git-extensions

我试图搜索我的问题,而我最接近的就是这个.

git状态显示相同的文件两次 - 但具有不同的路径斜杠样式

但它似乎与我的问题不一样.

我正在做一个提交,并注意到相同的文件被列出两次,但具有不同的情况.例如,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
Run Code Online (Sandbox Code Playgroud)

我真的不知道该怎么做,我只使用Git几个月而且我没有做任何比合并分支和推拉更复杂的事情.

小智 17

如果您在ignorecase = false不使用git的情况下使用repo 并重命名文件,则可能会在Windows中发生这种情况.要修复,这应该工作

git mv -f Resource.h resource.h
git commit -m 'fix case'
Run Code Online (Sandbox Code Playgroud)

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

git config core.ignorecase true
Run Code Online (Sandbox Code Playgroud)