PS:以下sourcetree是在windows10环境下进行的,以下操作是要借用“梯子”哈,要花钱的,或者找好看有没有免费的,不然下面看了也没用,当然,如果你的网络可以访问到github.com那就没有主题所描述的这些烦恼,这篇文章就不用看了怕浪费您的宝贵时间
本人用git喜欢用sourceTree来管理源码,平常拉取代码和提交代码都是没问题的,最近github链接不上,不知道是不是被墙了,家里的网络肯定是没问题的,访问gitee.com是没问题的,于是打开哥的vpn,在刷新下GitHub.com,果然打开了,ok。
然后在用sourceTree去拉取代码时报错:
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch --no-tags origin
fatal: unable to access 'https://github.com/dotnetcore/xxx.git/': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
完成时带有错误,见上文。
是的看到这个问题,就谷歌一圈都说设置全局代理ip:
git设置全局http代理和https代理
git config --global http.proxy 127.0.0.1:19180
git config --global https.proxy 127.0.0.1:19180
我设置了一番,在拉取代码不巧,还是报一样的错误
sourceTree设置代理:
默认和自定义代理ip和端口,都试过不行,于是,我想肯定是哪里有问题,在仔细看看错误,git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch --no-tags origin
在看看gitconfig配置,在窗口任意处右键
点击 【Git Bash Here】
看图,按照图片的命令来操作看结果
通过命令查看配置文件内容
vi ~/.gitconfig
查看结果:
看到这里不要紧直接按 Enter键
在输入:E 然后进入编辑状态
看到这里的配置信息发现了没有,我们配置http的代理是没问题的,但是sourcetree拉取代码的时候是通过 【remote “origin”】,仔细一看发现这里没有设置代理,于是把代理上设置上去看看
在dos命令界面中 按 i 进入编辑状态 将代理ip和端口输入进去,请看结果
好的,改好了之后 依次按:esc --> shift + : ---> wq
wq是linux的命令 意思是:保存并退出
然后在拉取下代码看下结果
.gitconfig配置中的节点:【remote “origin”】 设置proxy = http://127.0.0.1:19180 这里设置了之后是可以拉取github的资源,但是国内的gitee.com的资源又访问不了,是不是很烦,在Git Bash Here dos窗口中vi ~/.gitconfig 是设置的全局配置,这样就会不符合我们实际对源码资源的一个拉取,这里我们可以单独设置sourcetree中某一个项目的gitconfig具体操作如下:
ok,具体两项:
第一:这里单独配置xxx.git项目的 ..\.get\confg 配置文件 在 [remote “origin”] 节点中添加 proxy = http://代理ip : 端口 ,
第二:在windows 的 hosts文件中添加访问github.com的代理ip:C:\Windows\System32\drivers\etc\hosts
C:\Windows\System32\drivers\etc\hosts
127.0.0.1:19180 github.com
127.0.0.1:19180 codeload.github.com
127.0.0.1:19180 github.global.ssl.fastly.net
这里多说一句,如果大家用githubdesktop的话 开个代理,设个hosts文件ip映射域名就可以搞定没那么麻烦亲测。
ok看到最新的结果,搞定!!希望此篇文章能对电脑前的你看了有所帮助。