You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

克隆私有Git仓库时出现工作树检出失败问题求助

解决Git克隆私有仓库时的invalid path及工作树检出失败问题

问题根源

你遇到的invalid path 'assets/icon-128.png:Zone.Identifier'错误,是因为仓库里包含了Windows NTFS文件系统的交替数据流(ADS)文件——这类文件是浏览器下载文件时自动添加的安全标记,文件名里带有冒号(Windows原生文件系统不允许文件名含冒号),导致Git无法在Windows环境下正常检出工作树。

而你执行git init后,当前目录变成了一个空的Git仓库,和目标远程仓库没有关联,后续克隆会把远程内容下载到子目录中,才会出现未跟踪的word-add-in目录,属于操作混乱导致的额外问题。

解决步骤

1. 清理错误操作残留文件

先删除当前目录下的空Git仓库和多余子目录,回到干净状态:

  • Windows PowerShell命令:
    Remove-Item -Recurse -Force .git, word-add-in
    
  • Linux/macOS或Git Bash命令:
    rm -rf .git word-add-in
    

2. 正确克隆并处理ADS文件

方法一:临时禁用Git的NTFS保护(适合个人使用)

先克隆仓库但不立即检出工作树,再配置Git允许NTFS特殊路径,最后完成检出:

# 克隆但不检出工作树
git clone --no-checkout <你的私有仓库URL>
# 进入克隆后的仓库目录
cd <仓库名称>
# 禁用NTFS路径保护,允许包含冒号的路径
git config core.protectNTFS false
# 检出工作树(默认分支是master则替换成master)
git checkout main

方法二:删除仓库内的冗余ADS文件(适合仓库维护者)

如果这些Zone.Identifier文件是意外提交的无用文件,直接在仓库中删除并推送到远程,后续所有人克隆都不会再遇到问题:

# 进入维护者本地已有的仓库目录
# 删除所有带Zone.Identifier的ADS文件(引号避免shell解析冒号)
git rm --cached "*.png:Zone.Identifier"
# 提交删除操作
git commit -m "Remove Windows Zone.Identifier ADS files"
# 推送到远程仓库
git push

之后正常执行git clone <仓库URL>即可完成克隆。

预防措施

  • 全局配置Git禁用NTFS保护,避免后续遇到同类问题:
    git config --global core.protectNTFS false
    
  • Windows上下载文件后,若不需要保留安全标记,可使用Sysinternals的streams工具删除ADS:streams -d <目标文件>

内容的提问来源于stack exchange,提问作者M Јǚйáĩď

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:05:15