簡體   English   中英

如何配置git從代理服務器后面的github克隆倉庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM