首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我执行git克隆时,大小写敏感文件系统上的大小写敏感路径冲突

当我执行git克隆时,大小写敏感文件系统上的大小写敏感路径冲突
EN

Stack Overflow用户
提问于 2020-08-18 12:13:00
回答 3查看 25.1K关注 0票数 36

当我克隆存储库时,会出现以下警告:

代码语言:javascript
运行
复制
...
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'components/User/index.js'
  'components/user/index.js'

我一直在阅读,这可能是一个窗口问题,因为在文件夹路径中没有启用区分大小写的功能。我也尝试过使用git config --global core.ignorecase false,但它一直失败。

所有不区分大小写的文件系统(如Windows 10和macOS)都面临这个问题.

有人也看到这个问题吗?

EN

回答 3

Stack Overflow用户

发布于 2020-10-21 14:56:34

定义

  • case-sensitive文件系统:将john.jpgJOHN.jpg视为两个不同的文件,这是允许的。
  • case-insensitive文件系统:将john.jpgJOHN.jpg视为一个文件,这是不允许的。

问题

代码语言:javascript
运行
复制
'components/User/index.js'
'components/user/index.js'

这里的问题是,不允许Useruser同时在不区分大小写的文件系统(如果使用Windows 10的话是NTFS )的components目录中共存。

windows操作系统的解决方案

如果您最近克隆了回购,但还没有做任何工作,我建议您重新开始。因此,删除克隆,然后对您打算克隆的目录启用区分大小写的方法,然后重新克隆它。在克隆过程之前这样做的好处是,作为克隆过程的一部分由git创建的所有目录都将区分大小写,并且git将不再提供此警告。另外,它还能让你收拾残局。

  1. 以管理员身份打开命令提示符。
  2. 转到您打算克隆回购的目录。在本例中,我将使用C:\Users\Juan\Desktop。您不需要cd到这个目录来执行下一步,只需知道目标目录是什么。
  3. 为目标目录启用区分大小写的功能。命令:fsutil.exe file SetCaseSensitiveInfo "C:\Users\Juan\Desktop" enable
  4. 克隆你的回购。在本例中,我将使用https://github.com/torvalds/linux.git。命令:git clone https://github.com/torvalds/linux.git
  5. (可选):删除或重命名冲突的文件和文件夹,如果它们是相同的。您需要通过比较它们来验证这一点。若要删除、使用git rm以及移动或复制,请使用git mv
  6. (可选):如果您拥有写权限(可能是在与团队其他成员讨论了问题之后),则提交并将您的更改推到上游回购。
  7. (可选):禁用区分大小写。命令:fsutil.exe file SetCaseSensitiveInfo "C:\Users\Juan\Desktop" disable

现在你可以回去做这个项目了。

来源:窗口中心

macOS的解决方案

在macOS上,您必须将卷重新格式化为大小写不敏感/敏感的卷,或者创建一个全新的卷。详细信息

反射

您可能会遇到这个问题,因为您克隆了一个在运行Linux或Mac的计算机上创建的回购程序,也许它是由其他人创建的,而不是由您个人创建的。这里的教训是要始终与你命名事物的方式保持一致,这适用于每个参与项目的人。这是否则可能发生的情况的一个例子。

票数 31
EN

Stack Overflow用户

发布于 2020-08-19 15:40:51

使用Windows 10的能力,在每个目录的基础上启用大小写敏感性

另外,让我们将文件夹挂载为区分大小写的文件夹。

有关详细信息,请参阅:

如何在Windows 10上启用区分大小写的文件和文件夹名

按目录区分大小写和WSL \ Windows命令行

票数 2
EN

Stack Overflow用户

发布于 2021-12-18 07:58:46

在macOS上更改整个文件系统的过程非常耗时和危险。可以使用磁盘映像(如解释的这里 )来创建具有特定区分大小写(即“日志记录”)文件系统的虚拟容器:

  • 大小写敏感日志HFS+ - Mac OS扩展(区分大小写,日志)
  • 日志HFS+ - Mac扩展(日志)

如果你喜欢使用终端:

  • 使用hdiutil create -type SPARSE -fs 'Case-sensitive APFS' -volname <volumeName> <fileName>创建图像。
  • hdiutil attach <fileName>.sparseimage命令将图像挂载到/Volumes/<volumeName>中,您可以将其装入cd中。
  • 完成后,只需使用diskutil unmount /Volumes/<volumeName>卸载映像即可。

你可以找到更多的信息,这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63468346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档