作者:kcx64
blog.csdn.net/kcx64/article/details/83866633
在国内从 github 上面下载代码的速度峰值通常都是 20kB/s。这种速度对于那些小项目还好,而对于大一些的并且带有很多子模块的项目来讲就跟耽误时间。虽然有很多提速的方法,但是实际用起来并不稳定。
这里提供一种新的方法,下载速度可以达到 1~2MB/s
1. 利用开源中国提供的代码仓库 {#sr-toc-0}
标题已经说的很清楚了,我想对于经常使用 git 的人来讲,很可能已经知道了。对于新手刚接触 git 的人来讲,可能你只知道 github。
实际上,国内也有很多代码仓库提供方,国外也不只 github。只不过国内也是刚刚开始,关注的人不多。
开源中国提供的代码仓库提供了一个功能,就是它可以将 github 账号中的代码 clone 到开源中国的账户中去。这个代码仓库叫做 码云 ,没错就是码云?。
要求你有一个 github 账户,一个码云 gitee 账户。
步骤很简单
将 github 上面你想要搞下来的项目首先 frok 到你自己的 github 的账户中去。耗时: 一瞬间
登录 gitee,没有的自行注册。网页中有添加项目的按钮,一个加号。点击加号,下拉列表里面有 迁移 github 项目 的选项,点开后按照提示关联自己的 github 账号,之后选择你要迁移的项目,按提示操作。耗时: 不到三分钟。
按照 clone github 项目方法, clone 迁移到 gitee 账户中的项目。区别是 clone 链接换成了目标项目在 gitee 中的链接。通常下载速度是以 MB/s 为单位的。
按照上面的方法,基本上不再需要整夜挂机 clone 代码了。一些 Github 技巧:你必须收藏的 Github 技巧
最近重新看了下,其实上面的步骤有些繁琐,其可以更简单,新建仓库直接设置远程仓库地址。
第一步新建仓库:{#sr-toc-1}
<br />
第二步:以 github 仓库 https://github.com/PX4/Firmware.git 举例
{#sr-toc-2}
第三步:{#sr-toc-3}
<br />
第四步:{#sr-toc-4}
<br />
提高下载子模块的速度 {#sr-toc-5}
有的项目里用到了第三方代码仓库,但是在你使用 clone 指令的时候这些子模块 submodule 并不会自动下载,因为他们在另外的地址中存放。你需要 clone 完目标项目后,执行
git submodule update --init --recursive
才会将目标项目所需要的依赖子模块下载下来。github 项目中所用到的子模块依然是放在了 github 上。这就很悲剧了,这意味着你在执行上面指令后,依然需要面对上面的 20KB/s 的速度。虽然此时并不会显示出来,然而等待依然很久。
我们同样使用上面加速 clone 的思路。
从下载的项目中找到其使用的 submodule 的链接是哪里。
打开上一步中的链接,将使用的目标子模块的代码同样 frok 到自己的 github 账户中,之后同样的方法迁移到 gitee 中去。有多个子模块就多重复几次操作,同样的套路。
将原项目使用的 submodule 模块的链接地址修改为子模块迁移到 gitee 中后的地址。
这时再去执行git submodule update --init --recursive
。
以上就是提高下载子模块速度的思路。具体每步的操作,请自行搜索,网上一搜一大片。
附:{#sr-toc-6}
关于如何修改 submodule 连接地址 https://blog.csdn.net/wangjia55/article/details/24400501
https://www.jianshu.com/p/c81e2bd377ad
https://blog.csdn.net/qq_22630169/article/details/74236535
https://blog.csdn.net/wangjia55/article/details/24400501
(完)
【推荐阅读】
你还在从零搭建项目 ?
用Spring Security, JWT, Vue实现一个前后端分离无状态认证Demo
面试时写不出排序算法?看这篇就够了
图解Spring解决循环依赖,认清IOC!
是真的猛!SQL 语法速成手册
面试官:BigDecimal一定不会丢失精度吗?
通俗易懂讲布隆过滤器