Skip to content

Instantly share code, notes, and snippets.

@laispace
Last active August 26, 2024 01:42
Show Gist options
  • Save laispace/666dd7b27e9116faece6 to your computer and use it in GitHub Desktop.
Save laispace/666dd7b27e9116faece6 to your computer and use it in GitHub Desktop.
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
npm config delete proxy
@TickHeartFE
Copy link

这是什么原理

@imcoderlemon
Copy link

结合以上各位经验设置成功. 以下以macOS为准.

  1. https访问
    仅为github.com设置socks5代理(推荐这种方式, 公司内网就不用设代理了, 多此一举):
    git config --global http.https://github.com.proxy socks5://127.0.0.1:1086
    其中1086是socks5的监听端口, 这个可以配置的, 每个人不同, 在macOS上一般为1086.
    设置完成后, ~/.gitconfig文件中会增加以下条目:

    [http "https://github.com"]
        proxy = socks5://127.0.0.1:1086
    
  2. ssh访问
    需要修改~/.ssh/config文件, 没有的话新建一个. 同样仅为github.com设置代理:

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

    如果是在Windows下, 则需要个性%home%.ssh\config, 其中内容类似于:

    Host github.com
        User git
        ProxyCommand connect -S 127.0.0.1:1086 %h %p
    

    这里-S表示使用socks5代理, 如果是http代理则为-H. connect工具git自带, 在\mingw64\bin\下面.

worked.

亲测可以,我的代理是Clash,端口改成默认的7890.

记录下问题过程: Clash 一开始使用Git命令没问题,突然某天提示:

ssh: connect to host ssh.github.com port 22: Connection refused
fatal: Could not read from remote repository.

win10配置:.ssh/config 配置文件供参考:

Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 22
ProxyCommand connect -S 127.0.0.1:7890 %h %p

@YolenLew
Copy link

YolenLew commented May 29, 2022

win10配置成功,如下,感谢各位的指导!

Host github.com
HostName github.com
User git
ProxyCommand connect -S 127.0.0.1:33211 %h %p

@omaidb
Copy link

omaidb commented Jun 1, 2022

带认证的http proxy咋配置呢

@jwqStoneatom
Copy link

谢谢!
git config --global https.proxy 'https://127.0.0.1:1086'
↓↓
git config --global https.proxy https://[your_proxy_ip]:[your_proxy_port]

@xwnwho
Copy link

xwnwho commented Aug 11, 2022

配置了.ssh/config,还是不行,我怀疑和我的机场有关系,之前用的都是可以的,现在换了两个了还是不行,无语了都,太难了。

@eric-gitta-moore
Copy link

分享一个windows下可行的ssh配置

Host github.com
    User git
	# http proxy
	ProxyCommand ncat --proxy 127.0.0.1:10809 %h %p

https://stackoverflow.com/questions/19161960/connect-with-ssh-through-a-proxy#:~:text=ProxyCommand%20ncat%20%2D%2Dproxy

@wangz-code
Copy link

最新的git不能加单引号,比如v2rayNG可以这么配置 git config --global http.proxy socks5://127.0.0.1:10808

👍🏻

@16892434
Copy link

16892434 commented Sep 8, 2022

一直在使用,最近不太稳定

@onthedesk
Copy link

结合以上各位经验设置成功. 以下以macOS为准.

  1. https访问
    仅为github.com设置socks5代理(推荐这种方式, 公司内网就不用设代理了, 多此一举):
    git config --global http.https://github.com.proxy socks5://127.0.0.1:1086
    其中1086是socks5的监听端口, 这个可以配置的, 每个人不同, 在macOS上一般为1086.
    设置完成后, ~/.gitconfig文件中会增加以下条目:

    [http "https://github.com"]
        proxy = socks5://127.0.0.1:1086
    
  2. ssh访问
    需要修改~/.ssh/config文件, 没有的话新建一个. 同样仅为github.com设置代理:

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

    如果是在Windows下, 则需要个性%home%.ssh\config, 其中内容类似于:

    Host github.com
        User git
        ProxyCommand connect -S 127.0.0.1:1086 %h %p
    

    这里-S表示使用socks5代理, 如果是http代理则为-H. connect工具git自带, 在\mingw64\bin\下面.

worked.

亲测可以,我的代理是Clash,端口改成默认的7890.

记录下问题过程: Clash 一开始使用Git命令没问题,突然某天提示:

ssh: connect to host ssh.github.com port 22: Connection refused
fatal: Could not read from remote repository.

win10配置:.ssh/config 配置文件供参考:

Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 22
ProxyCommand connect -S 127.0.0.1:7890 %h %p

亲测可以,困扰一天了~感谢

@TLovers
Copy link

TLovers commented Nov 30, 2022

Mac ssh 设置还是很慢 5kb/s

@9xxxxxx
Copy link

9xxxxxx commented Mar 23, 2023

good!

@ChanaLii
Copy link

ChanaLii commented May 4, 2023

Nice!

@alongw
Copy link

alongw commented Jun 13, 2023

回答中的

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

中的https.proxy是否应该修改为http.proxy

@TLovers
Copy link

TLovers commented Jun 25, 2023

Mac 的ssh 有办法吗? 我试了上面的还是不行哇

@H-YWu
Copy link

H-YWu commented Jun 26, 2023

回答中的

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

中的https.proxy是否应该修改为http.proxy

这个是不是因为用的是HTTP代理而不是HTTPS代理(我这里Clash显示的是http+socks5混合端口),我也不太了解网络方面的问题,只是看到有人说这HTTP代理和HTTPS代理都可以同时代理两种。

@alongw
Copy link

alongw commented Jun 27, 2023

回答中的

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

中的https.proxy是否应该修改为http.proxy

这不是因为用的是HTTP代理而不是HTTPS代理(我这里Clash显示的是http+socks5混合端口),我也不太了解网络方面的问题,只是看到有人说这个HT TP代理和HTTPS代理都可以同时代理两种。

他的https代理使用了http协议,加上按照常理来说,这个地方应该就是http,只是问题的回答者复制粘贴忘记修改
我将他修改为http一切工作正常

Copy link

ghost commented Jul 3, 2023

可以用。。解决了我的问题,多谢

@killcoder0
Copy link

我亲测可以:

  1. clone: git clone -c http.proxy="127.0.0.1:xxxx" https://github.com/Gump8/xxxx.git
  2. fetch upstream: git -c http.proxy="127.0.0.1:xxxx" fetch upstream
    *注意: fetch 后面不能 -c,clone 是可以的

有效

@brothertao
Copy link

@omaidb
Copy link

omaidb commented Oct 10, 2023

@tengshe789
Copy link

thx a lot

@KELETU66666
Copy link

谢谢,非常感谢

@maxinzheng
Copy link

最新的git不能加单引号,比如v2rayNG可以这么配置 git config --global http.proxy socks5://127.0.0.1:10808

👍🏻

这个好使,牛逼

@cikiChe
Copy link

cikiChe commented Nov 27, 2023

最新的git不能加单引号,比如v2rayNG可以这么配置 git config --global http.proxy socks5://127.0.0.1:10808

如果要取消呢,我用我的网络在客户公司的电脑上拉代码,拉完我想去掉这个代理,咋办呢(抱歉,顺手一回,还没有搜索,等下搜索)

搜索到了:
git config --global --unset http.proxy
git config --global --unset https.proxy

@Randyx233
Copy link

Randyx233 commented Dec 16, 2023

Mac 的ssh 有办法吗? 我试了上面的还是不行哇

可以试试ssh使用443端口

To set this in your SSH configuration file, edit the file at ~/.ssh/config, and add this section:

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

然后正常clone、pull都可以了

@Leo-AO-99
Copy link

Mac 的ssh 有办法吗? 我试了上面的还是不行哇

可以试试ssh使用443端口

To set this in your SSH configuration file, edit the file at ~/.ssh/config, and add this section:

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

然后正常clone、pull都可以了

感谢,救了老命,mac+v2ray

@ysh83737
Copy link

Mac 的ssh 有办法吗? 我试了上面的还是不行哇

可以试试ssh使用443端口

To set this in your SSH configuration file, edit the file at ~/.ssh/config, and add this section:

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

然后正常clone、pull都可以了

昨天突然开始抽风,操作不了GitHub,报错

kex_exchange_identification: Connection closed by remote host
Connection closed by 127.0.0.1 port 7890

一看端口,我还以为是代理的问题,折腾了半天无果。试了一下你的方案,就好了。感谢感谢!!

@eric-gitta-moore
Copy link

Mac 的ssh 有办法吗? 我试了上面的还是不行哇

可以试试ssh使用443端口
To set this in your SSH configuration file, edit the file at ~/.ssh/config, and add this section:

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

然后正常clone、pull都可以了

昨天突然开始抽风,操作不了GitHub,报错

kex_exchange_identification: Connection closed by remote host
Connection closed by 127.0.0.1 port 7890

一看端口,我还以为是代理的问题,折腾了半天无果。试了一下你的方案,就好了。感谢感谢!!

clash tun mode 试试?

@oyal
Copy link

oyal commented Jan 17, 2024

Mac 的ssh 有办法吗? 我试了上面的还是不行哇

可以试试ssh使用443端口
To set this in your SSH configuration file, edit the file at ~/.ssh/config, and add this section:

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

然后正常clone、pull都可以了

昨天突然开始抽风,操作不了GitHub,报错

kex_exchange_identification: Connection closed by remote host
Connection closed by 127.0.0.1 port 7890

一看端口,我还以为是代理的问题,折腾了半天无果。试了一下你的方案,就好了。感谢感谢!!

clash tun mode 试试?

我开启 Tun Mode 后报错:

ssh -T git@github.com
kex_exchange_identification: Connection closed by remote host
Connection closed by 198.18.0.7 port 22

换成 443 端口倒是可以,或者 Direct 直连,可以访问 22 端口

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment