问题情形
在GitHub上clone项目时,突然报错:
error: invalid path 'dataset/html/downloaded/index.html?s=Oriental'
fatal: unable to checkout working tree
在git clone 后,拉取的文件夹中只有 .git 文件夹,其他内容均没有拉下来。使用 git status -s 命令,可以看到所有文件都显示已被删除的状态。
解决办法
代码中包含 NTFS 文件系统不支持的文件名(源代码可能是在 Mac 或 Linux 等其他系统下开发的)
Git 在 Windows 下默认开启了 NTFS 保护机制,导致包含不满足 NTFS 文件名的项目无法被成功拉取,且无法切换到这些不满足 NTFS 文件名规范的文件夹中。
首先关闭 NTFS 保护机制的配置(在拉取的代码文件夹中输入下面一行命令):
git config core.protectNTFS false
然后执行git checkout即可成功拉取代码。