目錄 [hide]
在公司這樣的局域網環境中,向要走網絡必須走HTTP代理出去。不能直接訪問外面的服務,所以這樣安全了些,但是也提供了不便的地方。因此需要設置一些代理才能使用。
常用的代理有:
- HTTP、HTTPS代理 許多程序支持http代理
- SOCKS代理 不是所有的程序都支持socks代理,但是常用的軟件都支持
github上的倉庫支持ssh、https、git三種協議的chekout(clone)操作。
生成SSH Key
參考http://www.chenyudong.com/archives/ssh-using-private-public-key-no-password.html進行SSH密鑰的生產
git使用http訪問
github上可以使用https進行訪問。
1
|
$ git config --global http.proxy http:
//web-proxy
.oa.com:8080
|
但是這樣可以clone了。但是如果要push代碼,那就麻煩了。每次都需要輸入密碼。
git使用ssh進行訪問
使用ssh協議不僅可以訪問github,還可以訪問我們自己的git私有倉庫,可以參考文章通過SSH創建私有git倉庫。
首先,Windows用戶先下載一個mysgit客戶端,下個portable版的就好了,https://github.com/msysgit/msysgit/releases里面有git程序。Linux用戶跳過。
第二步,配置ssh。Windows用戶運行mysgit中的git-bash.bat來啟動終端。編輯vim ~/.ssh/config
,將下面的內容寫入到文件中
1
2
3
4
|
Host github.com *.github.com
ProxyCommand connect -H web-proxy.oa.com:8080 %h %p
#設置代理
IdentityFile ~/.
ssh
/privatekey/id_rsa
.github
User git
|
ProxyCommand
說明了設置代理,其中connect
是個程序,Windows用戶下載了mysgit,里面有這個程序,Linux用戶可能沒有,需要安裝sudo apt-get install connect-proxy
。
如果你使用corkscrew,那么解壓縮附件,把corkscrew.exe和cygwin1.dll拷貝到mysgit的bin目錄中。附:corkscrew.zip
第三步,測試
1
2
|
ssh
-T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
|
轉自:http://www.chenyudong.com/archives/use-git-or-github-in-company-local-net.html