专栏首页沈唁志如何提高GitHub日常使用、下载速度?

如何提高GitHub日常使用、下载速度?

程序猿大多数是离不开GitHub这个巨大的开源宝库的,而更多的时候我们需要使用 git clone 一个项目到本地的时候会发现这个速度是真的无话可说

小项目等几分钟无所谓,如果clone的项目很大或者项目文件数目一多, git clone 大概率会失败,这个时候我们应该如何解决呢?下面来说几种方法

指定 clone 深度

我们在clone某个项目的时候,通常都是直接使用git clone来操作,比如拉取swoole-src的代码

git clone git@github.com:swoole/swoole-src.git

我们只是需要拉下来编译一下master的代码,而不需要所有的内容,那我们就可以加上--depth=1参数,用于指定克隆深度,为1表示只克隆最近一次commit

这个时候就会发现clone的代码体积比直接clone的体积是减小的

设置 SSH 代理

使用浏览器访问的时候我们可以使用代理全局模式,但是我们 push 、 pull 和 clone 等通过 SSH 来实现的操作也不会有任何变化,因为 SSH 还是直连的

但这些才是程序猿的日常操作,通过 HTTPS 协议去进行操作肯定是没有问题的,可是每次操作都要输入账号密码也非常的繁琐

如何让 SSH 也通过代理来访问呢?很简单,只需要配置 ~/.ssh/config 文件,增加以下的内容即可:

Host github.com
   HostName github.com
   User git
   ProxyCommand nc -v -x 127.0.0.1:1086 %h %p

注意配置文件内的 127.0.0.1:1086 需要与本地 SS 客户端的所暴露的 本地 Socks5 监听地址 本地 Socks5 监听端口 一致

使用国内镜像 Gitee

这是个曲线救国的方法,码云是面向国内服务,所以速度可想而知,Gitee 码云有提供一个码云极速下载的服务,为了提升国内下载速度

一般国内的开源项目基本上都会有gitee仓库,比如swoole-src、hyperf这些都有官方的仓库

而也有一些大型项目码云在这个极速下载服务中提供了仓库,截止本文发布时,码云已经提供了12.6K个仓库镜像,每日同步一次

如果这个项目长期使用的人很多,但是没有提供极速下载服务,你也可以请求同步,通过发送项目仓库信息到 git#oschina.cn (#换成@)申请即可

临时使用的话,有一个码云账户也是可以的,通过国内码云平台的转接,来完成GitHub上项目的下载加速,下面说一下具体操作

1. 点击右上角新建仓库的加号 +,选择从 GitHub/GitLab导入仓库菜单

2. 填写位于 GitHub 上,你想clone的仓库地址URL并点击导入。这一步交给码云来做速度是非常快的,稍等一会,码云就克隆出了一份和GitHub上一模一样的项目

3. 把clone地址换成码云上的项目地址,将项目clone到本地,这时候的clone速度就很快了

然后还没有完事,我们需要把地址修改回去,毕竟我们提pr什么的还是要去原地址操作的,执行命令:

git remote set-url origin git@github.com:UserName/Repository.git

这样就达到了我们提高GitHub日常使用、下载速度的需求

任何个人或团体,未经允许禁止转载本文:《如何提高 GitHub 日常使用、下载速度?》,谢谢合作!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git常用命令总结

    沈唁
  • 百度春笋小哥带你解决熊掌号主页不更新等几个问题

    先来说一下这个问题吧,熊掌号主页数据是在熊掌号指数2.0公布之后出的问题,也就是 9.10 以后

    沈唁
  • 微信小程序调用接口获取登录获取用户信息

    沈唁
  • Ubuntu12/Ubuntu14/Ubuntu16/Ubuntu18(通用)安装Xfce图形界面

    一、 Ubuntu12/Ubuntu14/Ubuntu16/Ubuntu18(通用)安装Xfce图形界面 第1步 sudo su root apt-get up...

    我爱你的一诺
  • [php]empty和isset校验参数时的区别

    有传参,无传值,(xx=),值为"" empty: true isset: true

    杨肆月
  • 简简单单在 JavaScript 中克隆对象

    JavaScript 的原始数据类型(例如number、string、null,undefined 和 boolean)是不可变的,这意味着一旦创建,它们的值就...

    疯狂的技术宅
  • JS基础测试: 下面的值哪一个是字符串变量?

    字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

    舒克
  • 2018-06-13 ubuntu16.04.4 U盘安装

    用户1733354
  • MySQL 查询分析

    本文主要由一个案例引发对 MySQL 性能问题的思考,主要讲述 MySQL 慢查询和 explain 工具这两个定位 MySQL 性能瓶颈的方法。

    谢庆玲
  • nginx之FastCGI配置优化

    FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,...

    随心助手

扫码关注云+社区

领取腾讯云代金券