微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我执行git clone

如何解决我执行git clone

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

...
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'

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

我使用Windows 10和git版本2.28.0.windows.1

有人也看到这个问题吗?

解决方法

使用Windows 10的功能来按目录启用区分大小写

此外, Linux的Windows子系统让我们将Windows文件夹安装为区分大小写。

有关更多信息:

How to Enable Case Sensitive File and Folder Names on Windows 10

Per-directory case sensitivity and WSL | Windows Command Line

,

定义

  • 区分大小写的文件系统:将john.jpgJOHN.jpg视为两个不同的文件,并且允许这样做。
  • 不区分大小写的文件系统:将john.jpgJOHN.jpg视为一个相同的文件,而不是允许。

问题

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

这里的问题是,Useruser不允许在不区分大小写的文件系统({{3})上的components目录内同时存在。 }(如果您使用的是Windows 10)。

解决方案

如果您最近克隆了该存储库,但尚未对其进行任何工作,建议您重新开始。因此,删除克隆,然后为要克隆回购协议的目录启用区分大小写功能,然后重新克隆它。在克隆过程之前执行此操作的好处是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

现在您可以重新开始该项目了。

来源:NTFS

反射

您可能会遇到此问题,因为您克隆了一个在运行Linux或Mac的计算机上创建的存储库,它可能是其他人而非您本人创建的。这里的教训是始终与您命名事物的方式保持一致,这适用于项目中涉及的每个人。这是否则会发生的一个例子。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。