有时候想快速拉一个 Git 仓库下来看看代码结构,结果 git clone 卡在 80% 不动——一看日志,全是几百 MB 的模型文件、视频、压缩包在硬传。路由调优不光是改路由器设置,本地开发环境的效率也得‘调’:减少无效数据传输,让克隆快起来。
用 sparse-checkout 跳过指定大文件
Git 2.19+ 支持稀疏检出(sparse-checkout),不用下载整个仓库,只取你需要的目录和文件:
git clone --filter=blob:none --no-checkout <仓库地址>
cd <项目名>
git sparse-checkout init --cone
git sparse-checkout set src docs README.md上面这三步,先只拉元数据和 commit 历史(--filter=blob:none),再激活稀疏模式,最后指定只检出 src、docs 和 README.md——那些 model/、assets/video/ 目录压根不会下载。
遇到老版本 Git?试试 shallow clone
如果 Git 版本低于 2.19(比如 CentOS 7 自带的 1.8.x),可以靠浅克隆砍掉历史记录,顺便绕过部分大文件:
git clone --depth=1 --no-single-branch <仓库地址>--depth=1 表示只拉最新一次提交,很多大文件可能只在早期提交里存在,新提交已删或替换成 .gitignore 规则,这时候能省下几十到上百 MB。
提前查清楚,比盲克更省事
进仓库 GitHub/GitLab 页面前,先点开 .gitignore 看一眼;再点开 Insights → Size(GitHub)或 Repository → Graphs → Repository size(GitLab),能直观看到哪些目录占空间最多。比如看到 /data/large-dataset/ 占了 1.2 GB,那就心里有数:克隆前必须加过滤。
家里宽带跑满 50 Mbps,下个 2 GB 的仓库要近 6 分钟;跳过它,3 秒完成,喝口水的工夫代码就到手了——路由调优的本质,就是让该走的流量走,不该走的,一步都别多走。