在Windows上通过Git bash更改文件夹的大小写

我需要改变文件夹和文件的情况。 我尝试的第一件事是重命名文件夹,但Git没有拿起更改。 所以我尝试使用git mv -f controller Controller但它说:

fatal: renaming 'application/classes/controller failed: Permission denied

我曾尝试设置全局ignorecase标志:

git config --global core.ignorecase false

但它仍然不起作用。 有人build议将文件夹移出回购,删除,然后重新添加,但当其他人拉回购时,这个变化会被拿起来吗? 还有什么我可以尝试?

编辑:它适用于文件,但不是文件夹。

总结评论,你必须通过中间临时名称重命名目录。 例如

 git mv controller Controller-tmp git mv Controller-tmp Controller 

我认为这与MinGW执行rename(2)不支持这个操作有关。 看到这个线程 ,CRT rename实现和MoveFileEx函数的MSDN文档。

确保在重命名带有中间文件夹的文件夹后,将更改添加到索引中,如下所示。

 git mv oldfolder newfolder git add -u newfolder git commit -m "changed the foldername whaddup" 

参考