Skip to content

Instantly share code, notes, and snippets.

@laispace
Last active October 2, 2024 14:24
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
@yveshield
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.

@JYShaw
Copy link

JYShaw commented Apr 22, 2021

对于使用git@协议的,可以配置socks5代理
在~/.ssh/config 文件后面添加几行,没有可以新建一个

Host github.com
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

Works for me! Thanks

@lsdark2
Copy link

lsdark2 commented May 18, 2021

thanks my git works.
my proxy tool is clash.
git config --global http.proxy 'socks5://127.0.0.1:your local proxy port

@baijianruoliorz
Copy link

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

works for me, Thank you!

God now i can't solve it...

@hu-qi
Copy link

hu-qi commented Jun 11, 2021

Good job!

@gqqnbig
Copy link

gqqnbig commented Jun 26, 2021

quotes are required.

@penn201500
Copy link

按照

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

#取消代理
git config --global --unset http.https://github.com.proxy)

设置
速度感人!!!
selection_001

great!!!

@xpalive
Copy link

xpalive commented Aug 2, 2021

我的代理环境在另外一个电脑上,使用的是clash
本机与代理机器在同一网段上。

配置如下

  • ~/.gitconfig 配置如下
#对所有请求代理 方案1
[http]
    proxy = socks5://192.168.10.120:7890
#只对github.com 方案2
[http "https://github.com"]
    proxy = socks5://192.168.10.120:7890

请问下,为什么我设置了域名匹配反而不能走代理了,有人知道为什么么?(方案1可以走代理,方案2不能走代理)

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

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

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

@HuangHongRui
Copy link

HuangHongRui commented Aug 4, 2021

Thx.. :)

git config --global http.proxy 'socks5://127.0.0.1:1086'

Or:

  1. input:
    git config --global -e
  2. input:
[http]
	proxy = socks5://127.0.0.1:1086
[https]
	proxy = socks5://127.0.0.1:1086

@sxsx2yzyz
Copy link

github

git config --global https.proxy socks5://127.0.0.1:1086 mac上有用,谢谢

@newpost
Copy link

newpost commented Nov 10, 2021

能否在git clone的时候临时设置代理呢 比如: git clone ssh:xxxxx.git --proxy url:port ?不胜感激

@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

@onsummer
Copy link

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

@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

👍🏻

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