我需要更改文件夹和文件的大小写。我尝试的第一件事是重命名文件夹,但Git没有接受更改。所以我尝试使用git mv -f controller Controller
,但它说:
fatal: renaming 'application/classes/controller failed: Permission denied
我尝试过设置全局ignorecase标志:
git config --global core.ignorecase false
但它仍然无效。有些人建议将文件夹移出repo,删除,然后重新添加,但当其他人拉回购时,这个更改是否会被接收?还有什么我可以尝试的吗?
编辑:它适用于文件但不适用于文件夹。
答案 0 :(得分:47)
总结评论时,您必须通过中间临时名称重命名目录。 E.g。
git mv controller Controller-tmp
git mv Controller-tmp Controller
我认为这与rename(2)
的MinGW实现不支持此操作的事实有关。请参阅此thread,CRT rename
实施中的MSDN文档以及MoveFileEx
函数的文档。
答案 1 :(得分:2)
确保关闭Visual Studio以及与该路径相关的任何Windows资源管理器文件夹。
答案 2 :(得分:0)
确保在使用中间文件夹重命名文件夹后将更改添加到索引中。
git mv oldfolder newfolder
git add -u newfolder
git commit -m "changed the foldername whaddup"
答案 3 :(得分:0)
除了执行以下操作外,我无法解决此问题