我遇到了git的问题。基本上我设置为false core.ignorecase
因为我想改变一些文件夹名称的情况(因为我在OSX下使用不区分大小写的文件系统,否则没有显示更改)。当我提取数据时,我注意到现在每个重命名的文件夹在存储库中出现两次,同时包含旧名称和新名称。我不知道如何移除旧文件夹,因为它们不会出现在本地(我尝试将core.ignorecase
再次设置为true,但它没有帮助。)
答案 0 :(得分:118)
可能是类似于this comment in an msysgit issue的解决方法(对于另一个不区分大小写的操作系统:Windows)可能有帮助吗?
我遇到过同样的问题。在Eclipse中重构了一个包名称,并且由于文件夹名称没有还原而切换到以前的生成。我正在使用Windows 7,Git 1.7.0.2.msysgit.0
我的文件夹在Windows中重命名为“
来修复此问题folder
”,但在Git中显示为“Folder
”。 我通过在Windows中将其重命名为“Folder
”然后运行:
git mv "Folder" "Folder2"
git mv "Folder2" "folder"
请注意自git 2。0。1(2014年6月)以来,git mv Folder folder
应该正常工作!
答案 1 :(得分:17)
您可以使用区分大小写的文件系统创建磁盘映像(最好是sparsebundle磁盘映像)并在那里检出您的git存储库。
下面的“磁盘工具”屏幕截图显示了如何创建区分大小写的磁盘映像。
答案 2 :(得分:14)
在macOS上使用以下命令。这会将您的git配置更改为对文件名区分大小写。
git config core.ignorecase false
您可以通过修改~/.gitconfig
并在core
下设置它来全局设置,例如:
[core]
ignoreCase = false
答案 3 :(得分:11)
Mac OS X默认为"不区分大小写但保留大小写"。这是一个重要的区别。
我建议您创建另一个磁盘映像,并将其格式化为" HFS区分大小写"。
答案 4 :(得分:5)
git mv "Folder" "Folder2"
git mv "Folder2" "folder"
git commit -a -m "my message"
答案 5 :(得分:1)
git@vger.kernel.org讨论论坛上标题为Bug? Git checkout fails with a wrong error message的案例敏感问题最近有一个很长的帖子,其中突出了不同平台之间区分大小写的问题和尝试的事项。