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看到最新的結果,搞定!!希望此篇文章能對電腦前的你看了有所幫助。