讲师中心 微信公众号
AI工具推荐 视频效率加速

git clone速度慢的优化方案【实测】

轻明同学_3372

轻明同学_3372

发布时间:2026-04-12 07:49:30

|

1126人浏览过

|

来源于php中文网

原创

Git clone 慢应优先排查真实瓶颈:卡在 Counting objects 多为网络问题,可换 HTTPS 镜像源或 SSH over 443;卡在 Resolving deltas 则与本地性能有关,换源无效;推荐清华镜像或配置 SSH 走 443 端口并配合 sparse-checkout 减体积。

git clone速度慢的优化方案【实测】

换源:直接替换 GitHub 的默认 URL 协议

GitHub 默认走 HTTPS,国内 DNS 解析和 TLS 握手常卡在 github.com 或 github.global.ssl.fastly.net。实测中,把 HTTPS 换成 Git 协议(git://)基本不可用(已被 GitHub 废弃),真正有效的做法是改用 SSH + 域名映射或镜像源。

  • 优先尝试用国内镜像站的 HTTPS 地址,例如清华源:<a href="https://www.php.cn/link/be6a8bd950af30b17829a1d5c58d148f">https://www.php.cn/link/be6a8bd950af30b17829a1d5c58d148f</a> 不适用 clone,但可配合 git config --global url."<a href="https://www.php.cn/link/5f1a8a8fddbc8a5ff4bf0f111dc69ff4">https://www.php.cn/link/5f1a8a8fddbc8a5ff4bf0f111dc69ff4</a>" insteadOf "<a href="https://www.php.cn/link/536f4ea1075a3900f3791bf4097880fc">https://www.php.cn/link/536f4ea1075a3900f3791bf4097880fc</a>"
  • 更稳定的是改用 SSH 地址(需提前配置密钥):git@github.com:user/repo.git → 实测握手快、复用连接,但首次 clone 仍可能卡在 ssh: connect to host github.com port 22: Connection timed out,说明 22 端口被限,此时要配 SSH Config 走 443 端口
  • 不推荐用 http:// 协议(无加密,部分仓库拒绝)

SSH 配置走 443 端口绕过防火墙拦截

GitHub 支持通过 SSH over HTTPS(端口 443)连接,只要你的网络允许访问 github.com:443(通常允许),就能绕过对 22 端口的封锁。

  • 在 ~/.ssh/config 中添加:
    Host github.com
    HostName ssh.github.com
    Port 443
    User git
    
  • 然后确保已添加公钥到 GitHub Settings → SSH and GPG keys
  • 执行 ssh -T git@github.com 测试是否返回 Hi username! You've successfully authenticated...
  • 若失败,检查是否误写成 HostName github.com 或漏掉 Port 443;常见错误是本地开了代理却没关系统代理,导致 SSH 走了 socks 通道而超时

用 sparse-checkout 减少下载体积(适合大仓库)

有些仓库(如 tensorflow、android/platform_manifest)历史提交巨大,完整 clone 动辄几个 GB。不需要全部代码时,可用浅克隆 + 稀疏检出跳过无关目录。

git-dirty-check
git-dirty-check

对本地 Git 工作树进行只读整理,汇总未提交变更并给出保守风险标记。用于用户询问…的变更。

下载
  • 先初始化空 repo:git init myrepo && cd myrepo
  • 关联远程并只拉取最新提交(不带历史):git remote add origin <a href="https://www.php.cn/link/536f4ea1075a3900f3791bf4097880fcuser/repo.git">https://www.php.cn/link/536f4ea1075a3900f3791bf4097880fcuser/repo.git</a> && git config core.sparseCheckout true
  • 指定要检出的路径(例如只想要 src/utils/):echo "src/utils/" >> .git/info/sparse-checkout
  • 拉取并检出:git pull --depth=1 origin main
  • 注意:--depth=1 不能和 --sparse 同时用于 clone,必须分步;且后续若要切分支或查历史,得取消 sparse 或 fetch 更多对象

排查真实瓶颈:别盲目换源

速度慢不一定是 GitHub 的问题。先运行 git clone -v <a href="https://www.php.cn/link/536f4ea1075a3900f3791bf4097880fcuser/repo.git">https://www.php.cn/link/536f4ea1075a3900f3791bf4097880fcuser/repo.git</a>,观察卡在哪一步:

  • 卡在 Resolving deltas...:说明对象解压或索引构建慢,和 CPU/磁盘有关,换源无效
  • 卡在 remote: Counting objects 阶段:大概率是网络层问题(DNS、TLS、MTU、中间设备劫持)
  • 卡在 Receiving objects 但速率长期为 0:可能是本地杀毒软件扫描 Git 临时文件,关闭实时防护再试
  • 用 curl -I <a href="https://www.php.cn/link/048517851c55e77cf9daf170c6fdd7ab">https://www.php.cn/link/048517851c55e77cf9daf170c6fdd7ab</a> 和 ping github.com 对比延迟,如果 ping 不通但 curl 成功,说明 ICMP 被禁但 HTTPS 可用,应优先走 HTTPS 镜像而非折腾 SSH

Git clone 慢的根因差异很大,同一台机器换 Wi-Fi 和有线网络表现可能完全不同。最省事的方案往往是:确认当前网络下哪个协议(HTTPS / SSH over 443)实际可达,然后固定用它,而不是堆砌多个配置。

热门AI工具

更多
切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

3583

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

795

2023.10.30

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

5627

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2428

2023.08.10

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

8485

2026.01.21

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

858

2026.04.02

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

6139

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1800

2023.07.06

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

0

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn