程序猿大多数是离不开GitHub这个巨大的开源宝库的,而更多的时候我们需要使用 git clone 一个项目到本地的时候会发现这个速度是真的无话可说
小项目等几分钟无所谓,如果clone的项目很大或者项目文件数目一多, git clone 大概率会失败,这个时候我们应该如何解决呢?下面来说几种方法
指定 clone 深度
我们在clone某个项目的时候,通常都是直接使用git clone来操作,比如拉取swoole-src的代码
git clone [email protected]: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 [email protected]:UserName/Repository.git
这样就达到了我们提高GitHub日常使用、下载速度的需求
只有我挂着”$$R”上Github玩儿的吗 😕
@KicoModo 你不是一个人😎
一直觉得SVN比git快。不知是不是错觉。
@大致 都是看源站的,git用gitee也快