首页 > 解决方案 > 当只有一个文件夹时,VsCode Source Control 检测到两个同名文件夹

问题描述

每当我对 ./src/app/core/system/Agent/Create 中的创建组件进行更改时,我在 VsCode 中的源代码控制都会将其作为两个单独的文件夹拾取,一个是大写的,一个是小写的:

在此处输入图像描述

正如您在下面的文件夹中看到的那样,没有另一个小写文件夹,只有我已更改的文件夹:

在此处输入图像描述

我已经尝试使用git config core.ignorecase true我所看到的建议忽略大小写,但这并没有做任何事情。

标签: gitvisual-studio-codeversion-control

解决方案


事实上,有两个文件夹的名称只是大小写不同。Git 区分大小写,因为 Unix 系统区分大小写,并且不可能以不区分区域设置的方式正确折叠大小写。

您添加了两个这样的目录,Git 跟踪了它们,但是您在 Windows 上,默认情况下,Windows 忽略大小写,因此只能将其中一个放在工作树中。这是 Windows 的限制,而不是 Git。

Git FAQ 包含一个处理这种情况的条目,它通常显示为一个总是被修改的文件。你不应该做的是 modify core.ignorecase,因为 Git 根据它检测到的文件系统的能力在存储库中设置它。更改该选项不会改变您的文件系统是否足够强大,但它可以使 Git 以您可能在 Windows 上未预料到的奇怪方式运行。


推荐阅读