GIT Proxy 一键设置代理 让你的 git clone Github 再也不像百度云一样内行

这篇博客分享了如何解决Git通过SSH协议连接GitHub速度慢的问题,提供了设置HTTP和SOCKS5代理的方法,并给出了针对SSH的`~/.ssh/config`文件配置示例。此外,还提供了一个Linux一键切换代理的bash脚本,方便快速开启或关闭代理。
摘要由CSDN通过智能技术生成

这几天 git clone Github 是真的爆炸啊,永远都是 10kb/s 左右,也不是私有仓库啊?百度云都要直呼内行了。

由于我用的是 ssh 方式拉取代码的,于是乎终端 http proxy 也只能起到玄学(心理自我安慰)作用了。

到底如何设置 ssh 协议的 proxy 呢?

查看git配置(两种)

git config  --list

git config --global --list

分辨需要设置的代理

一、HTTP 形式

走 HTTP 代理

git config --global http.proxy "http://127.0.0.1:8080"

git config --global https.proxy "http://127.0.0.1:8080"

走 socks5 代理(如 小飞机 or V2xxxx)

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 --unset http.proxy

git config --global --unset https.proxy

二、SSH 形式

修改 ~/.ssh/config 文件(不存在则新建):

# 必须是 github.com
Host github.com
   HostName github.com
   User git
   # 走 HTTP 代理
   # ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8080
   # 走 socks5 代理(如小飞机 or V2xxx)
   # ProxyCommand nc -v -x 127.0.0.1:1080 %h %p

对于 Windows 用户,要使用 socks5 代理却没有 nc 的,可以将

ProxyCommand nc -v -x 127.0.0.1:1080 %h %p
换成
ProxyCommand connect -S 127.0.0.1:1080 %h %p

配合上面的修改,我这里分享一个我的自用 Linux 一键切换脚本,将下面代码写入 ~/.bash_profile(其他 bash 程序或电脑系统可能路径不太一样)

function github_on() {
    cat "${HOME}/.ssh/config" >"${HOME}/.ssh/config_back" # 先备份
    config=$(cat ${HOME}/.ssh/config_back | sed 's/\# ProxyCommand/ProxyCommand/g')
    echo -e "${config}" >"${HOME}/.ssh/config" && echo -e "\033[36mGithub 已上代理!\033[0m"
}

function github_off() {
    cat "${HOME}/.ssh/config" >"${HOME}/.ssh/config_back" # 先备份
    config=$(cat ${HOME}/.ssh/config_back | sed 's/    ProxyCommand/    \# ProxyCommand/g')
    echo -e "${config}" >"${HOME}/.ssh/config" && echo -e "\033[33mGithub 停止代理!\033[0m"
}

写完之后运行  source ~/.bash_profile 使配置文件生效,使用下面的指令就可以很爽的用啦

github_on
# 启动

github_off
# 关闭
在使用git clone过程中,如果需要设置代理,可以通过以下方法进行配置。首先,在命令行中运行如下命令来设置代理: ``` git config --global http.proxy 'socks5://127.0.0.1:1080' ``` 这会将代理配置为socks5协议,代理服务器地址为127.0.0.1,端口号为1080。但需要注意的是,*** clone,可以依次运行以下命令进行配置(确保git.exe的路径已经设置好): ``` git config --global http.proxy http://127.0.0.1:8087 git config --global https.proxy https://127.0.0.1:8087 git config --global http.sslVerify false ``` 这些命令会将http和https的代理设置为http://127.0.0.1:8087,并且禁用了SSL证书验证,以避免出现SSL certificate problem: unable to get local issuer certificate while accessing的错误提示。 设置完成后,重新进行git clone操作,你会发现下载速度得到了极大的提升。 如果想要取消代理,可以在命令行中执行以下命令: ``` git config --global --unset http.proxy git config --global --unset https.proxy ``` 另外,如果你只关心最新版的代码,而不关心之前的历史信息,可以使用git的浅复制功能。通过在git clone命令中添加--depth=1参数,只下载最近一次的版本,可以大大减少下载的数据量。例如: ``` git clone --depth=1 https://github.com/xxx.git ``` 这样可以只下载最近一次的版本。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [git使用代理解决无法clone的问题及git代理设置](https://blog.csdn.net/yaningli/article/details/99644618)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [git如何使用代理clone](https://blog.csdn.net/bglmmz/article/details/84855557)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值