我们目前在我们的一个项目中遇到问题,其中Stash(Atlassian' s git)将某些文件路径转移到source
文件夹(小写),而其他所有文件都在Source
下(资本) )。后者是正确的文件夹。
当我们从远程仓库中提取源时,只有一个文件夹。这是有道理的,因为我们正在使用Windows机器,操作系统将阻止两个仅按大小写区分的文件夹。不幸的是,当我们尝试合并分支时,小写路径中的文件被视为已删除,因此合并工具(Visual Studio)会尝试删除它们。其中一个是.csproj文件,所以你可以想象它的危害!
我们无法弄清楚这是如何发生的,也无法弄清楚如何撤消它以便正确地修改所有文件。因此,每当我们认为我们已经修复它时,它就会再次发生。
任何想法是什么导致了它以及我们可以做些什么来解决?
答案 0 :(得分:0)
使用ignorecase设置。您可以像这样全局设置:
git config --global core.ignorecase true
<强> core.ignoreCase 强> 如果为true,则此选项启用各种变通方法 使Git能够更好地处理不区分大小写的文件系统, 喜欢FAT。例如,如果目录列表找到&#34; makefile&#34;什么时候 Git期待&#34; Makefile&#34;,Git会假设它真的是同一个文件, 并继续记住它&#34; Makefile&#34;。