VsCode 源代码管理在只有一个文件夹时检测到两个同名文件夹
VsCode Source Control detecting two folders of same name when there is only one
每当我在 ./src/app/core/system/Agent/Create 中更改我的创建组件时,我在 VsCode 中的源代码管理都会将其作为两个单独的文件夹拾取,一个大写,一个小写:
正如您在下面的文件夹中看到的,没有其他小写的文件夹,只有我更改过的文件夹:
我已经尝试使用 git config core.ignorecase true
忽略大小写,但是这并没有起到任何作用。
我将文件夹更改为完全不同的内容,然后又将其更改回来,这就解决了问题
实际上有两个文件夹,它们的名称只是大小写不同。 Git 区分大小写,因为 Unix 系统区分大小写,并且不可能以不区分区域设置的方式正确折叠大小写。
您添加了两个这样的目录并且 Git 跟踪了它们,但是您在 Windows 上,默认情况下,Windows 忽略大小写,因此只能将其中之一在工作树中。这是 Windows 的限制,而不是 Git。
处理这种情况的Git FAQ contains an entry,通常表现为一个文件总是被修改。您不应该做的是修改 core.ignorecase
,因为 Git 根据它检测到您的文件系统的能力在存储库中设置它。更改选项不会改变您的文件系统是否足够强大,但它可以使 Git 以您可能在 Windows.
上没有预料到的奇怪方式运行
每当我在 ./src/app/core/system/Agent/Create 中更改我的创建组件时,我在 VsCode 中的源代码管理都会将其作为两个单独的文件夹拾取,一个大写,一个小写:
正如您在下面的文件夹中看到的,没有其他小写的文件夹,只有我更改过的文件夹:
我已经尝试使用 git config core.ignorecase true
忽略大小写,但是这并没有起到任何作用。
我将文件夹更改为完全不同的内容,然后又将其更改回来,这就解决了问题
实际上有两个文件夹,它们的名称只是大小写不同。 Git 区分大小写,因为 Unix 系统区分大小写,并且不可能以不区分区域设置的方式正确折叠大小写。
您添加了两个这样的目录并且 Git 跟踪了它们,但是您在 Windows 上,默认情况下,Windows 忽略大小写,因此只能将其中之一在工作树中。这是 Windows 的限制,而不是 Git。
处理这种情况的Git FAQ contains an entry,通常表现为一个文件总是被修改。您不应该做的是修改 core.ignorecase
,因为 Git 根据它检测到您的文件系统的能力在存储库中设置它。更改选项不会改变您的文件系统是否足够强大,但它可以使 Git 以您可能在 Windows.