近期在拉代码的时候,发现了个问题,拉下来的代码一致都报错,然后只有一个.git文件夹,使用git status发现,所有的文件都被删除了,根据系统提示的 **git restore --source=HEAD : /**才将内容恢复回来。
但是,问题来了,恢复后的文件,被git认为成我自己修改的文件,当我git add .的时候,这些都变成了我的提交记录,然而我也只是做了次git clone的操作而已,就要提交修改了1000+文件。崩溃
error: invalid path 'xxxx/img/100*100.png'
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 :/'
后来发现了解决方案,如下:
mac和windows的文件命名格式不同,windows不允许使用*/等特殊符号作为文件名,mac可以
所以当库中有这些存在时,Windows将会不识别,也就导致了报错,后面的文件就没有被拉下来,所以就全空的。
所以让mac的同学将100*100.png改成了100_100,并且把所有带 * /的都改掉,这样再去git clone 就没有任何问题了。希望可以帮助到你们。