Appearance
git clone 失败别重装 Git:国内三种死法对照
git clone 失败时,终端很少说「你被墙了」。它说 Connection timed out、Failed to connect to github.com port 443、SSL 报错、或者克隆到 12% 自己停住。这篇不教 Git 入门,只把国内开发者最常见的 三种死法 摊开:克隆仓库、拉 Release 大包、连 GitHub 衍生服务。Copilot 怎么用见 GitHub Copilot 使用教程;这里默认命令你已经会敲。
死法一:clone 在握手阶段就死
画面:敲完地址,长时间无进度,或卡在 Cloning into 之后再无字节。
这通常不是磁盘满,也不是 Git 装错。github.com 的 HTTPS/SSH 在直连下经常不稳定。先做最小验证:浏览器能否完整打开该仓库页面。页面都打不开,clone 没有理由成功。
实务上,先准备一条稳定的境外线路,再克隆。专为高审查网络优化的 GeeVPN(AmneziaWG)是常见选项:节点钉住后再 clone,中途不要切区——切 IP 等于让 TCP 重来。
SSH 还是 HTTPS,先选你现有密钥能用的那种;两种一起试、两种一起失败,只会让日志更脏。一种通了,再谈改 remote。
死法二:仓库能下,Release / LFS 下到一半
画面:代码对象下来了,大文件(模型、安装包、Git LFS)在百分之十几断掉。
这和 国内访问 Hugging Face 是同一类病:站点层通了,传输层在抖。处理顺序:
- 不要删掉半成品就重来,能续传就续;
- 确认你下的是官方 Release 资产,而不是来路不明的网盘打包;
- 体积对不上就当损坏,不要强行解压进生产环境。
线路抖动时,大文件比小仓库更先死。这时换下载器往往无效,先把会话稳住。
报错原文不同,底层经常是同一件事:到 GitHub 的路不稳。
死法三:github.com 能开,别的域名不行
画面:网页仓库正常,但 ghcr.io、raw.githubusercontent.com、Actions 产物、某些 API 超时。Copilot / 依赖安装也会表现为「登录成功、补全没有」。
不要假设「GitHub 已通」等于全家桶已通。衍生域名要单独通。保持同一条稳定线路,用浏览器分别打开你正在用的那个域名,比盲目改 Git 配置更接近真相。
若你的痛是编辑器里的 AI 补全而不是 clone,先分清是账号套餐问题还是网络问题,见 AI 编程助手怎么选。网络不稳时,再强的模型也只是超时。
只对活着的那一层动手;用 Git 配置去治 DNS/线路,会配出一堆用完忘不掉的临时参数。
一个干净的重试顺序(只改一样)
- 固定境外线路,浏览器打开仓库页;
- 用同一种协议再 clone 一次(不要同时改 SSH/HTTPS/代理环境变量);
- 成功后再拉子模块或 LFS;
- 仍失败:把终端最后 20 行留下来,对照是超时、证书还是 403。
403 / 权限错误是账号与仓库可见性,换线路救不了。超时与 reset 才优先怀疑路径。
请不要留下的后遗症
- 把
sslVerify=false当成长期方案; - 系统全局 HTTP 代理忘了关,导致内网 Git 也坏;
- 把私人 Token 写进分享出去的脚本。
临时能通,不等于配置健康。用完临时绕行,改回可解释的状态。
相关资源
- GeeVPN 官网 —— 访问 GitHub / 衍生域名时常用的稳定线路参考
- GitHub Copilot 使用教程 · AI 编程助手怎么选
- 国内访问 Hugging Face
GitHub 的主机名、鉴权与费率会变化;请以官方文档和你当前错误原文为准,并遵守仓库许可与服务条款。