[英]How to configure git to clone repo from github behind a proxy server
總而言之,我在Ubuntu的github上遇到了有關git的問題。 我已經通過git config --global http.proxy proxyserver:port
配置了代理設置,但是當我輸入git clone git@github.com:myusername/example.git
,出現以下錯誤: ssh: connect to host github.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly
我該怎么辦? 謝謝史蒂文
我按照以下步驟從公司代理后面訪問git存儲庫。 此方法適用於使用git URL(例如“ git://something.git”)的git存儲庫; 對於使用http URL(例如“ http://something.git ”)的git存儲庫,請使用此鏈接的可接受答案。
此版本使用開瓶器並設置代理所需的用戶名和密碼。
安裝開瓶器(Ubuntu)
sudo apt-get install corkscrew
創建包含您的代理用戶名和密碼的憑證文件
echo "username:password" > ~/.corkscrew-auth
就我而言,憑據看起來像這樣
domain\username:password
安全認證文件
chmod 600 ~/.corkscrew-auth
創建開瓶器包裝器腳本〜/ scripts / corkscrew.wrapper
#!/bin/sh
exec corkscrew PROXY_IP_ADDRESS PROXY_PORT $* ~/.corkscrew-auth
使腳本可執行
chmod +x ~/scripts/corkscrew.wrapper
配置git
git config --global core.gitproxy ~/scripts/corkscrew.wrapper
測試是否可以克隆存儲庫
git init
git clone git://SOME_GIT_REPOSITORY_ADDRESS
如果您想清理剛剛制作的git配置
git config --global --unset core.gitproxy
步驟1:安裝開瓶器
$ sudo apt-get install corkscrew
步驟2:編寫一個名為git-proxy.sh的腳本,並添加以下內容
#!/bin/sh
exec corkscrew <name of proxy server> <port> $*
# <name_of_proxy_server> and <port> are the ip address and port of the server
# e.g. exec corkscrew 192.168.0.1 808 $*
步驟3:使腳本可執行
$ chmod +x git-proxy.sh
步驟4:通過設置環境變量來設置GIT的proxy命令
$ export GIT_PROXY_COMMAND="/<path>/git-proxy.sh"
現在使用git命令,例如
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.