@Jul 28, 2014
GitHub是一個基於Git的代碼託管平臺,用戶可以免費在上面放自己的代碼,不過代碼是公開的,屬於公共倉庫,要放私人代碼則需要付費來創建個人倉庫。使用其他基於Git的代碼託管網站,客戶端的安裝和使用也是類似的,可以將下面的客戶端配置成連接其他其他代碼託管網站。
要使用GitHub,首先在Git 上創建一個賬戶,然後在自己的電腦上安裝一個Git的客戶端來進行各種操作。
Note: 基於Git的代碼託管網站,國外的主要有:
github:https://github.com/
gitorious:https://gitorious.org/
國內的是京東: code.jd.com和CSDN: code.csdn.com (可以免費創建自己的私有代碼倉庫)
1 安裝Git客戶端
GitHub的客戶端有很多,一般都是一個GUI程序加一個命令行程序,配置都是類似的。
下載A或B
msysgit:
http://git-scm.com/book/en/Getting-Started-Installing-Git
GitHub for Windows: https://help.github.com/articles/set-up-git,GitHub專用的客戶端,這個界面更簡潔,有些配置自動完成了,安裝後是兩個分開的程序:GUI和命令行程序。
安裝msysgit時選擇帶Unixstyle的命令行的選項,這樣除了Git GUI外,還可以使用命令行工具GUI Bash。下面是安裝完成後的程序
Git GUI, 一個運行Git的圖形界面工具。
Repository >Git Bash,一個BASH模擬器,使用命令行來運行Git,就像在Linux下運行git命令。
右鍵打開文件時,可以選擇使用BASH或GUI進行操作。
下面要配置客戶端,follow git guide. (https://help.github.com/articles/set-up-git)
配置非常簡單,在命令行程序中分別輸入下面的命令配置username 和 email: (這些配置在安裝B時已經完成了。)
$git config --global user.name "YOUR NAME"
$git config --global user.email "YOUR EMAIL ADDRESS"
然後就可以訪問GitHub,訪問GitHub可以使用不同的Url地址:SSH和Https。(參考:https://help.github.com/articles/which-remote-url-should-i-use#cloning-with-ssh)。只有使用SSH連接才需要配置SSH Key。
1.1 SSH連接
通過SSH協議連接更安全,這種方式需要創建一個SSH key,相當於GitHub的用戶名和密碼,使用的URL地址類似於[email protected]:user_name/***.git (在GitHub上進入一個repository後可以在頁面查看訪問該倉庫的url地址)。
SSH連接的端口有可能會被防火牆的阻止,提示” ssh: connect to host github.com port 22: Bad file number”,可以使用Https的端口443,但是使用代理服務器可能不行。(https://help.github.com/articles/using-ssh-over-the-https-port)。
如果還不成功,提示PermissionDenied,參考https://help.github.com/articles/error-permission-denied-publickey。
提示” ssh: connectto host github.com port 443: Bad file number”, 有可能重啓網絡連接就OK了,參考http://stackoverflow.com/questions/7144811/git-ssh-error-connect-to-host-bad-file-number。
Note: 安裝B客戶端會後會自動創建SSHKey並添加到服務器的GitHub中。
1.2 Https連接
安全性不及SSH連接,但是限制少。連接GitHub時使用的是GitHub的用戶名和密碼。爲了避免每次連接GitHub時都要輸入用戶名和密碼,可以使用credential helper來保存用戶名和密碼。
GitHub的GUI默認使用的是Https. 可以在倉庫.git目錄的config文件中查看。
Note: 還可以使用Subversion客戶端訪問GitHub上的倉庫。
2 Errors Shooting
2.1 使用GitHub for Windows客戶端,提示Failed connect to github.com:443; No error
@Org 1, 2014
通過GUI客戶端創建倉庫,併發布到服務器,提示發佈branch失敗,但是GitHub上卻成功創建了該倉庫。
使用shell提交代碼到服務器時,出現下面的錯誤:
fatal:unable to access 'https://github.com/***/***.git/': Failed connect togithub.com:22; No error
改用443端口測試SSH連接是否成功
ssh -T -p 443 [email protected]
提示
ssh: connect to host ssh.github.com port443: Bad file number
如果重啓網絡連接沒有幫助,檢查是否使用了proxyserver,可能是proxy server阻止了443端口上的連接,使用下面的命令配置代理:
git config--global http.proxy http://proxyuser:[email protected]:8080
參考: http://rkandhal.com/09/27/failed-connect-to-github-443-error/
刪除代理設置 git config –global–remove-section http(查看命令幫助:git config –help)
3 參考:
Git Documentation. http://git-scm.com/documentation
git hub的GUI軟件配置與使用.http://www.cnblogs.com/haore147/p/3618930.html
github簡單使用教程.http://wuyuans.com/2012/05/github-simple-tutorial/
http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html