Windows系统Github Desktop提交时报invalid path错误如何解决?
根因说明
这个报错通常由两类问题引发:
- 跨设备拷贝过程中Git索引文件损坏,无法识别已有路径
- Windows系统路径规则限制:Windows不支持路径末尾带空格、特殊不可见字符,也默认不识别类Unix系统的符号链接格式,跨设备拷贝时路径属性被篡改就会触发报错
修复步骤
- 首先检查对应路径是否存在异常字符,打开文件管理器查看
qbug/文件夹的实际名称,确认是否存在尾部空格、不可见特殊字符。如果确认有尾部空格,在Git Bash中执行重命名操作即可:
注意命令中qbug后面带的空格要和实际异常路径的空格数量一致。git mv "qbug /" qbug/ - 如果不存在异常字符,可判定为Git索引损坏,在仓库根目录打开Git Bash执行以下命令重建索引:
该操作不会丢失工作区的已有修改,仅会重置损坏的暂存区索引。rm .git/index git reset - 重建完成后执行状态检查确认报错消失:
回到Github Desktop重新提交即可正常操作。git status - 特殊场景处理:如果上述操作都无效,说明
qbug/是其他系统下创建的符号链接,Windows默认无法识别,可手动开启Git的符号链接支持:
执行后重新加载仓库即可。git config core.symlinks true
预防措施
- 跨设备拷贝仓库文件夹前,先执行
git gc清理仓库冗余文件,降低索引文件在拷贝过程中损坏的概率 - 优先通过Git推拉操作同步仓库内容,尽量不要在不同系统的设备之间直接拷贝仓库文件夹
- 必须跨设备拷贝时,先将仓库打包为压缩包后再传输,避免传输过程中文件名、文件属性被系统篡改
- Windows端使用Git可统一开启路径兼容配置,避免大小写、特殊字符引发的路径异常:
git config core.ignorecase false git config core.protectNTFS true
内容的提问来源于stack exchange,提问作者xpda
相关产品推荐
相关产品推荐

