@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地址类似于git@github.com: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 git@ssh.github.com
提示
ssh: connect to host ssh.github.com port443: Bad file number
如果重启网络连接没有帮助,检查是否使用了proxyserver,可能是proxy server阻止了443端口上的连接,使用下面的命令配置代理:
git config--global http.proxy http://proxyuser:proxypwd@proxy.server.com: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