<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="git 设置和取消代理">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2018-12-28 11:06<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
git 设置和取消代理


# 设置ss

git config --global http.proxy 'socks5://127.0.0.1:1080'


git config --global https.proxy 'socks5://127.0.0.1:1080'


# 设置代理

git config --global https.proxy http://127.0.0.1:1080


git config --global https.proxy https://127.0.0.1:1080


# 取消代理

git config --global --unset http.proxy


git config --global --unset https.proxy


这些设置最终会保存在用户目录下的 .gitconfig 文件中,如果代理有变动也可以直接在这里修改。

设置 Git SSH 代理
还有一种情况，我们通过 SSH 方法 clone 代码，提交代码，因为这样不用输入密码，通常我们会在自己的常用电脑上这么做。上面设置的 HTTP 代理对这种方式 clone 代码是没有影响的，也就是并不会加速，SSH 的代理需要单独设置，其实这个跟 Git 的关系已经不是很大，我们需要改的，是SSH 的配置。在用户目录下建立如下文件 ~/.ssh/config ，对 GitHub 的域名做单独的处理



XML/HTML代码


    # 这里必须是 github.com，因为这个跟我们 clone 代码时的链接有关  

    Host github.com  

    # 如果用默认端口，这里是 github.com，如果想用443端口，这里就是 ssh.github.com 详见 https://help.github.com/articles/using-ssh-over-the-https-port/  

    HostName github.com  

    User git  

    # 如果是 HTTP 代理，把下面这行取消注释，并把 proxyport 改成自己的 http 代理的端口  

    # ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=6667  

    # 如果是 socks5 代理，则把下面这行取消注释，并把 6666 改成自己 socks5 代理的端口  

    # ProxyCommand nc -v -x 127.0.0.1:6666 %h %p  




根据代码中的注释，设置自己的代理，查了很多资料 socks5 可以配合 nc 使用，但是我这里试了下不行，各位可以试一下，暂时把这个方案留在这里。

经过上面的设置，现在不管是用什么方式 clone 代码，都会走代理了，这里还是强调一下，代理要速度快才会有加速效果，如果代理一般或者很慢，可能还不如不走代理。
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
