定义
- 区分大小写的文件系统:将
john.jpg
和JOHN.jpg
视为两个不同的文件,这是允许的。
- 不区分大小写的文件系统:将
john.jpg
和JOHN.jpg
视为一个不允许的文件。
问题
'components/User/index.js'
'components/user/index.js'
这里的问题是,User
不允许user
在components
不区分大小写的文件系统(如果您使用的是 Windows 10 ,则为NTFS )上的目录中同时共存。
windows操作系统解决方案
如果您最近克隆了 repo 并且尚未对其进行任何工作,我建议您重新开始。因此,删除克隆,然后为您打算克隆存储库的目录启用区分大小写,然后重新克隆它。在克隆过程之前这样做的好处是,由 git 作为克隆过程的一部分创建的所有目录都将区分大小写,并且 git 将不再给出此警告。另外,它使您能够清理混乱。
- 以管理员身份打开命令提示符。
- 转到您打算克隆存储库的目录。在这个例子中,我将使用
C:\Users\Juan\Desktop
. 您不必cd
到此目录执行下一步,只需知道您的目标目录是什么。
- 为目标目录启用区分大小写。命令:
fsutil.exe file SetCaseSensitiveInfo "C:\Users\Juan\Desktop" enable
- 克隆你的仓库。在这个例子中,我将使用
https://github.com/torvalds/linux.git
. 命令:git clone https://github.com/torvalds/linux.git
- (可选):删除或重命名冲突的文件和文件夹(如果它们相同)。您需要通过比较它们来验证这一点。要删除、使用
git rm
和移动或复制,请使用git mv
.
- (可选):如果您有写权限(并且可能在与团队其他成员讨论问题之后),提交并将您的更改推送到上游存储库。
- (可选):禁用区分大小写。命令:
fsutil.exe file SetCaseSensitiveInfo "C:\Users\Juan\Desktop" disable
现在您可以回到项目上。
资料来源:Windows 中央
macOS 解决方案
在 macOS 上,您必须将卷重新格式化为不区分大小写/敏感或完全创建一个新卷。细节
反射
您可能遇到了这个问题,因为您克隆了在运行 Linux 或 Mac 的计算机上创建的存储库,它可能是由其他人创建的,而不是您个人创建的。这里的教训是始终与您命名事物的方式保持一致,这适用于参与项目的每个人。这是其他情况下可能发生的事情的一个例子。