泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

基于泰晓RISC-V实验箱的Linux公开课
请稍侯

大型 Git 仓库下载速度提升技巧

Wu Zhangjin 创作于 2019/12/02

By Falcon of TinyLab.org Aug 01, 2019

大型 Git 仓库如 Linux 内核的下载速度是非常慢的。所以,需要设法提速,这里分享笔者总结的几种常用小技巧:

优化域名解析

用 ping 获取目标域名的地址,把 “ip 域名” 映射填入 /etc/hosts,实现本地即时解析。

站在巨人的肩膀上

如果本地已经下载了 Linux mainline,然后又想下载 raspi3 的仓库,从新开始下会很慢,可以考虑在现有仓库下直接 git fetch raspi3 的仓库。同理,已经有 mainline,想下 stable,也可以这么做,因为可以共享已经下载的大量变更记录。

设定 clone 深度

Linux 从 v2.6.12 开始使用 Git 管理,到如今的 v5.2.2,经历过这么多年这么多版本,其变更记录本身巨大。如果对历史修改记录不是特别关心,可以通过 --depth 限定只获取部分修改记录,从而可以大幅减少 Git 仓库大小。

仅 clone 指定分支

Git 1.7.10 及之后版本,使用 -b branch --single-branch 将只下载指定分支,对于有多个分支,而且差异很大的仓库而言,这个方法同样会节省大量下载时间。

通过 git init + git fetch 实现断点续传

clone 不支持断点续传,对于大型的仓库,一旦出现网络故障,所有下载将全功尽弃,令人无比沮丧。所以,建议用 git init 先初始化一个空的仓库,然后用 git fetch 下载指定分支。这个即使网络中断,也是可以续传的。

使用国内镜像站

国内的码云做了不少源码加速镜像,地址在:https://gitee.com/mirrors,在下载国外资源之前,可以先在这里检索一下。

而 Linux 仓库,由于资源过大,码云并没有提供,虽然我们做了:https://gitee.com/tinylab/linux-stable,但是下载经常中断。

国内比较稳定的 Linux git 仓库镜像在:Linux.git, Linux-Stable

使用镜像的效果尤其明显,下载速度可能有数倍到数十倍的提升。



Read Related:

Read Latest: