git clone 太慢的解决方式

作者:croedmup
链接:https://www.zhihu.com/question/47331407/answer/142208758
来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
clone 比较大的 repo 比如说 linux,直接使用
git clone [https://github.com/torvalds/linux.git
会让你发疯。
这里介绍一个比较通用的解决方案。在我机器上 clone 速度可以达到 1MiB/s。

  1. 作为一枚屌丝程序猿,工具必不可少。目前来看,s 是不二选择。
    这里简单介绍下 ubuntu 下运行 s 的方法。
    sudo apt-get install python-pip sudo pip install s sudo ssserver -p -k -m rc4-md5 --user nobody -d start
    port 和 password 根据需要填写。记得防火墙里开放该监听的 port。
    然后在自己机上上安装 s 客户端,设置 PAC,开始爽歪歪吧。
  2. git 设置 socks5 代理。
    git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global http.proxy 'socks5://127.0.0.1:1080'
  3. 开始 clone,如果觉得仓库太大,可以在 git clone 中加入参数 --depth=1,只拉取最近的一个 revision。
wl@yanxi:~/user/workspace/learn-kylin/kylin-laster$ git clone --depth=1 https://github.com/apache/kylin.git
正克隆到 'kylin'...
remote: Counting objects: 2584, done.
remote: Compressing objects: 100% (1966/1966), done.
remote: Total 2584 (delta 1003), reused 1013 (delta 347), pack-reused 0
接收对象中: 100% (2584/2584), 6.23 MiB | 138.00 KiB/s, 完成.
处理 delta 中: 100% (1003/1003), 完成.
检查连接... 完成。
  1. 如果后面想看历史的版本,那么也很好办,使用 git fetch 即可。
    git fetch --unshallow

5.在hosts文件中添加
151.101.76.249 github.global.ssl.fastly.net 192.30.253.112 github.com

总结:

可以直接安装5,3,4的顺序去clone项目,不用管代理。


你可能感兴趣的:(git)