使用
git clone
一个仓库怎么也克隆不成功,一查原因竟是windows系统下不能创建某些文件(夹)。
重现问题
执行
git clone xxx
报以下错误。1
2
3
4fatal: cannot create directory at 'CON': Invalid argument
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'按照指示执行
git checkout -f HEAD
依然报下列错误。1
fatal: cannot create directory at 'CON': Invalid argument
问题分析
- 由于
git clone
操作会将远程仓库文件下载到本地,如果远程仓库存在CON
文件,导致git创建不了windows系统保留的关键词,导致克隆失败。 - 本地试了一下创建一个
CON
文件结果报以下错误:
问题解决
- 将远程仓库的
CON
文件重命名即可解决问题。
总结
- 避免创建windows系统保留的文件名字。
- 从微软官方文档找到以下不可使用的预留名称:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9。 - 同时还要避免这些名称后面紧跟着一个扩展名。
1
https://docs.microsoft.com/zh-cn/windows/win32/fileio/naming-a-file
关于更多
- Qt君公众号后台回复”git“获取更多相关信息。