Skip to content

Instantly share code, notes, and snippets.

@laispace
Last active November 23, 2024 12:52
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
@ddzzhen
Copy link

ddzzhen commented Nov 13, 2021

It helps, thanks a lot.

@inkss
Copy link

inkss commented Nov 19, 2021

# 只对 github.com
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080

@WJie12
Copy link

WJie12 commented Nov 27, 2021

@zhangle1 使用 git@xxoo.com 这种方式,是用的 SSH 协议。需要在 ~/.ssh/config 目录下配置

Host xxoo.com(改成你的站点) ProxyCommand connect -H 127.0.0.1:1080 %h %p

It works for me! thx!

Windows + ssh

@gogomarine
Copy link

可以了解一下 proxychains4 ,可以增长寿命。

Copy link

ghost commented Dec 15, 2021

仓库代码,通过SSH的方式,确实得设置ssh代理,没想到一个小小的代理都有这么多门道。。。。还得感叹富强不易

@qaqland
Copy link

qaqland commented Jan 27, 2022

谢谢!!!

@ssdemajia
Copy link

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

@wewindy
Copy link

wewindy commented Feb 23, 2022

目前在 Windows 10 上使用 Clash

git config --global http.proxy socks5://127.0.0.1:7890
git config --global https.proxy socks5://127.0.0.1:7890

如果只想对某个地址进行代理,比如对 github.com 代理,就这样:

git config --global http.https://github.com.proxy socks5://127.0.0.1:7890

参考了 @xpalive 的方式,SSH 还得看完全文

@Gump8
Copy link

Gump8 commented Apr 25, 2022

我亲测可以:

  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 是可以的

@Gump8
Copy link

Gump8 commented Apr 25, 2022

https是没用的,无论复制的地址有没有SSL加密,改http.proxy就行了。顺便蹲一个办法,有没有办法只设置单次clone使用代理?

我亲测可以:

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

@HaodongZou
Copy link

  • ~/.ssh/conf 配置如下
Host github.com
  ProxyCommand nc -v -x 192.168.10.120:7890 %h %p

这样配置不能走代理反而会生成一个以代理地址为名称的文件(文件名为:192.168.10.120:7890)

我想通过统一的代理机器代理我应该怎么做,谢谢

如果你是在Linux下配置,那么应该为

ProxyCommand nc --proxy-type socks5 --proxy 127.0.0.1:7891 %h %p

ncat和netcat有些参数上的区别,见https://unix.stackexchange.com/questions/368155/what-are-the-differences-between-ncat-nc-and-netcat

@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,还是不行,我怀疑和我的机场有关系,之前用的都是可以的,现在换了两个了还是不行,无语了都,太难了。

@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

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