GitHub的是版本控制和协作代码托管平台。它可以让你和其他人的项目从任何地方合作。GitHub也是目前世界上最受欢迎的分布式版本控制系统之一。最初编写用作Linux内核代码的管理。推出后,GitHub在其它项目中也取得了很大成功。Github目前已经有上百万的开发者,并且对于公共项目的托管免费。GitHub使得版本控制更加容易,多人协作编码变得简单。使用过SVN应该知道,当没有网络的支持,开发者并没有办法提交已完成代码。Github支持离线提交,其实就是提交到本地仓库。每一个开发者clone下的项目代码都是一个完整的仓储,当远程或其他协作开发者代码无法恢复时,都可以方便使用本地的仓储进行恢复。当需要对代码进行分支时,其他版本控制软件在大量文件时会很慢,而GitHub几乎是瞬间完成这个操作,而且只需要一个命令即可。

Linus在1991年创建了开源的Linux,从此,Linux 系统不断发展,已经成为最大的服务器系统软件。Linus自己用C写了一个分布式版本控制系统管理代码,就是GitHub。GitHub迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery, PHP,Ruby等等。

1、配置SSH Key

(1)第一次使用时,要配置一下账户。

在Git Bash客户端,输入:

git config --global user.name "输入GitHub的账户名"

git config --global user.email "输入GitHub的注册邮箱名"

(2)检查是否已经有SSH Key了,如果没有就生成。

同样在Git Bash客户端,先后输入:

cd ~/.ssh和ls

id_rsa.pub是公钥,这个公钥要上传到GitHub上验证。id_rsa是个人的私钥。

id_rsa  id_rsa.pub  known_hosts

(3)复制公钥。

接着在Git Bash客户端,输入命令行:

cat id_rsa.pub

这样会显示公钥文件内容。

(4)把复制的公钥添加到GitHub账户安装。

登录 GitHub 账户,点击右上角个人头像的下拉菜单,依次点击Settings > SSH and GPG Keys,在SSH Keys页面右上角有个New SSH Key按钮,点击该按钮后,粘贴上刚才复制的公钥内容。里面的“title”项就是为自己的SSH Key命名。

2、和别人一起做项目:Fork和Pull request

(1)Fork一个别人的仓库

Fork就是从原仓库复制建一个自己的分支(分叉),这样,我做的改动只是在我自己的分支上,不会影响到原仓库,除非提交的Pull request被接受后。Fork之后,在我的仓库里就出现了一个相同的仓库。

(2)提交Pull request

点击Pull request,在弹出的界面填写一些信息,告诉原仓库的作者你做了什么修改、为什么要修改等,方便作者了解你对仓库的改动,然后提交,Pull request请求就会发送至原仓库的作者。