Idea设置代理后无法clone git项目

背景

对于我们程序员来说,经常上github找项目、找资料是必不可少的,但是一些原因,我们访问的时候速度特别的慢,需要有个代理,才能正常的访问。

今天碰到个问题,使用idea工具 clone项目,速度特别的慢,经常失败,配置idea代理:

Idea设置代理后无法clone git项目_第1张图片

配置好以后,check connection github 提示成功

使用idea 去clone项目 还是失败,提示连不上,代理都配置了,为什么还连接不上呢?

git还是通过默认的方式去访问github的服务,所以需要让git访问本地的代理服务

解决方案

git 设置代理

  • 在终端中使用以下命令行为git设置代理:

全局代理,代理所有仓库

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

设置完成后,不管使用idea工具,还是使用命令 git clone 速度杠杠的

这是全局代理了所有的仓库,会导致有的仓库速度特别慢,我们单独指定代理的仓库

代理指定的仓库

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

这种代理 ,代理只会对 https://github.com 这个仓库有效,不会影响其他的仓库
设置完成后,不管使用idea工具,还是使用命令 git clone 速度杠杠的

  • git 取消代理

如果不适用这个代理,使用下面的命令取消

git config --global --unset http.proxy
git config --global --unset https.proxy

添加 --depth 参数

如果一个项目很大,时间久远,分支、commit 特别多,clone的时候速度特别慢,有时候还容易失败,那怎么办呢?

加上参数–depth,速度杠杠的,提升几十倍太轻松了,命令如下:

https://github.com/pinpoint-apm/pinpoint.git --depth=1

加上 --depth 会只下载一个 commit,所以内容少了很多,速度也就上去了。

而且下载下来的内容是可以继续提交新的 commit、创建新的分支的。不影响后续开发,只是不能切换到历史 commit 和历史分支。

这个不单单针对github,只要git管理的项目都使用,是git clone 自带的参数,使用下面命令查看:

 git clone -h

结果如下:

Idea设置代理后无法clone git项目_第2张图片

你可能感兴趣的:(intellij-idea,git,java)