Ads 468x60px

##EasyReadMore##

13 11月, 2017

git 設置和取消代理伺服器

clone 一個大專案下來的時候就是要等
但是在美國的虛擬主機跑起來速度卻是挺快的,主要應該是網路路由問題(網路環境連國外很慢)
加入指令如下: 以 hinet 為例
git config --global http.proxy 'socks5://proxy.hinet.net:80'
補充兩點:
1, https.proxy設置是無用的, 只需要設置http.proxy
2, socks5h://更好, 遠端DNS, SOCKS5 是一個代理協議,
HTTP代理:能夠代理客戶機的HTTP訪問,主要是代理瀏覽器訪問網頁,它的端口一般為80、8080、3128等; 
SOCKS代理:SOCKS代理與其他類型的代理不同,它只是簡單地傳遞數據包,而並不關心是何種應用協議,既可以是HTTP請求,所以SOCKS代理服務器比其他類型的代理服務器速度要快得多。SOCKS代理又分為SOCKS4和SOCKS5,二者不同的是SOCKS4代理只支持TCP協議(即傳輸控制協議),而SOCKS5代理則既支持TCP協議又支持UDP協議(即用戶數據包協議),還支持各種身份驗證機制、服務器端域名解析等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能夠做到的SOCK4則不一定能做到,比如我們常用的聊天工具QQ在使用代理時就要求用SOCKS5代理,因為它需要使用UDP協議來傳輸數據
手動加入也可以:
vim ~/.gitconfig
[http]
        proxy = socks5://proxy.hinet.net:80
#取消代理
git config --global --unset http.proxy
#只对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
注意要加上--global。網上很多資料都沒加這個參數。不加執行的話會報以下錯誤的:
error:could not lock config file .git/config: no such file or directory.
Trouble setting up git with my GitHub Account error: could not lock config file - Stack Overflow - https://goo.gl/wD1kYj
ssh 使用 proxy:
vim ~/.ssh/config
Host github.com
ProxyCommand nc -X 5 -x proxy.hinet.net:80 %h %p

Warning:
要注意有些來源不支源 SOCKS5
fatal: unable to access 'http://git.linuxfoundation.org/ltsi-kernel.git/': Unable to receive initial SOCKS5 response.
fatal: Cannot update paths and switch to branch 'master' at the same time.
Did you intend to checkout 'origin/master' which can not be resolved as commit?
Already on 'linux-3.14.y'
Your branch is up-to-date with 'origin/linux-3.14.y'.
HEAD is now at b65f2f4 Linux 3.14.79
error: pathspec 'master' did not match any file(s) known to git.
fatal: Could not parse object '5a62a61cd5f0ebd29a85f4751c6856ca07e6d713'.
fatal: Not a valid object name
tar: 這個看起來不像 tar 封存
tar: 由於先前錯誤而以失敗狀態離開
fatal: branch name required

git 设置和取消代理 - https://goo.gl/ibxYnH
設定 git 的 http proxy | Peter Dave Hello's Blog - https://goo.gl/GP4wU8

0 意見:

張貼留言

 
Blogger Templates