git的进阶指南(配置git代理)

Posted by 杨青波 on 2021-04-07

Windows下的git代理配置

由于近些年国内访问github速度慢且很不稳定,所以作为一名合格的程序员你一定需要一个科学梯子,这是本次教程的一个前提。

关于github

相信只要你有一个梯子你就可以给访问github加速,但是对于git clone、 push、 pull 很多人表示龟速,以下从两个角度介绍一下Windows下如何给git 命令加速

git的代理配置

对于git clone我们常用的有两种方式可以clone下项目,https方式和ssh方式,先简单介绍一下这两种方式的不同处:

  1. https方式使用用户名/密码授权,优点是可用性强,方便,缺点是速度慢,每次推送都需要输入口令。
  2. ssh方式需要将publish key上传到github的设置中,通过公私钥来验证用户获取授权建立通道,优点是速度快安全性高,缺点是需要上传公钥到github上

关于使用https方式clone的配置

https方式的clone配置需要在git config中配置全局代理,需要注意的https://127.0.0.1:1080代表你的梯子监听的协议和端口。

script
1
2
git config --global http.https://github.com.proxy https://127.0.0.1:1080
git config --global https.https://github.com.proxy https://127.0.0.1:1080

我使用的这个梯子的协议和端口如下,所以下面的配置我将https://127.0.0.1:1080换成socks://127.0.0.1:10808,你需要根据你的梯子配置对即可

有了以上配置,你就可以使用https方式舒服的git clone了,但是对于ssh方式的git clone我们还需要额外的配置。

关于使用ssh方式clone的配置

ssh方式的clone配置比较简单,你只需要在本用户的.ssh目录下(和你id_rsa.pub同级目录)创建一个config文件(不要有文件扩展名),将代理信息配置进去即可,配置如下:

script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Host github.com
User git
Port 22
Hostname github.com
IdentityFile "C:\Users\MRqby\.ssh\id_rsa"
ProxyCommand connect -S 127.0.0.1:1080 -a none %h %p
TCPKeepAlive yes

Host ssh.github.com
User git
Port 443
Hostname ssh.github.com
IdentityFile "C:\Users\MRqby\.ssh\id_rsa"
ProxyCommand connect -S 127.0.0.1:1080 -a none %h %p
TCPKeepAlive yes

使用mac和linux的同学应该看着很熟悉了,这个打家劫舍(配置跳板机啥的)必备良药呀!
这里再插一嘴,Stack Overflow等上面有些人告诉你了直接在git config配置ssl verify设为false,这显然不是个好解决方法啊,慎用。

结语

以上为Windows下配置git clone的代理全部内容,其实mac/linux上配置也是一样的,只是目录有些不同而已。
磨刀不误砍柴工,这些基础的配置是为了让我们对技术更加热情,更丝滑的使用 gayhub github。



支付宝打赏 微信打赏

赞赏一下