错误日志:
Cloning into 'overmind-efficiency'...
remote: Enumerating objects: 702, done.
remote: Counting objects: 100% (702/702), done.
remote: Compressing objects: 100% (286/286), done.
remote: Total 126341 (delta 287), reused 581 (delta 221), pack-reused 125639
Receiving objects: 100% (126341/126341), 47.01 MiB | 3.64 MiB/s, done.
Resolving deltas: 100% (61146/61146), done.
error: invalid path 'overmind-efficiency-core/src/main/java/com/netease/overmind/efficiency/order/constant/Con.java'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
现象 git clone 时,报错。下下来的内容里只有孤零零的 .git文件夹
git status 查看后发现本地仓库里所有的文件状态都是deleted。
一开始,我以【warning: Clone succeeded, but checkout failed.】为关键字去检索相关解决方案,无果。
后来我转换思路,以【error: invalid path】为关键字去检索相关解决方案,查到了相关的解决方案:
问题原因
代码中包含 NTFS 文件系统不支持的文件名。(源代码可能是在 Mac 或 Linux 等其他系统下开发的)
Git 在 Windows 下默认开启了 NTFS 保护机制,导致包含不满足 NTFS 文件名的项目无法被成功拉取,且无法切换到这些不满足 NTFS 文件名规范的文件夹中。
解决方法
关闭 NTFS 保护机制的配置,操作命令如下:
重新clone后,文件成功下载。
但是!!!不满足 NTFS 文件名的单一文件还是无法下载成功。Con.java这个文件还是没能下载下来。
我去google上同样以【error: invalid path】为关键字去检索,找到了一篇内容,里面提到了:
【Nothing appears to be wrong with the path. The issue is that the base name of the file is con which is a reserved name in Windows.】
con是windows的保留字,文件夹或是文件名是不可以命名为con的(windows还不区分大小写)
所以最终的解决方案就是将con.java改名