最近在与软件的同学沟通算法实现的过程中,软件实现版本频繁变更;为提高合作效率,用Git与GitHub进行项目管理,总结起来分为两部分:
1. 在Github上创建一个organization,为organization创建repository,为repository创建gh-pages作为项目主页。
2. 用Git进行版本控制,通过push和pull与GitHub端的文件版本进行交互同步。
第一步,点击Github首页右上角创建一个organization,

输入团队名称(或者项目名称)和邮箱后,直接create organization。继续可邀请队员,

这步可跳过,以后我们也可在创建完成后的organization下拉people菜单中重新邀请。

第二步,为这个organization创建repository,用来存放项目文件。

这里可根据需要设置repository提供私有还是公有服务。勾选使用readme初始化这个repository,这样就可以克隆repository到本地。
第三步,在repository中创建项目之前,我们可以通过添加gh-pages分支创建静态页面,来展示创建的项目。repository被创建后,branch只有一个master,只需要再添加gh-pages分支就可以了。

现在,我们可以通过二级域名 OrganizationName.github.io/repositoryName进入项目主页。
github pages有模板可供选择,点击repository中setting选项,下拉找到github pages,选择中意的主题。

至此,我们的GitHub远程项目管理环境已经配置完成。那么怎样运用Git对项目中的文件进行版本控制呢?
第四步:安装好Git之后,创建一个本地的版本库(文件夹test),并且进入这个文件夹。通过命令git init
把这个文件夹变成Git可管理的仓库。

这时你会发现test里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。如果你看不到,是因为它默认是隐藏文件,按下shift + command + . 即可显示出来。

第五步:把项目文件粘贴到这个本地Git仓库里面,然后通过git add
或git add .
把所有或单个项目文件添加到仓库。

此时仍提示no commits yet,整个过程中可以一直使用git status来查看你当前的文件add和commit状态状态。

第六步:用git commit把项目提交到仓库。

-m后面引号里面是本次commit的注释内容,用来标记本次commit。如此,本地Git仓库这边的配置操作完成,接下来连接远程Github仓库。
第七步:由于本地Git仓库和Github repository之间通过SSH加密传输,所以连接时需要创建SSH KEY。先使用$ open ~/.ssh 命令查看一下有没有.ssh目录,

有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建,
ssh-keygen -t rsa -C "youremail@example.com"
第八步:登录Github,点击右上角头像,打开Settings,再选中SSH and GPG KEYS,


点击右上角的New SSH key,

Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。

第九步:将Github上创建的repository和本地仓库进行关联,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:
git remote add origin https://github.com/OrganizationName/repositoryName.git
第十步:关联好之后我们就可以把本地库的所有内容推送到Github远程repository中了,由于新创建的repository中的README文件不在本地仓库目录中,这时我们通过以下命令先将内容合并:
git pull --rebase origin master

然后通过下面命令,将已从本地库上传内容到Github。
git push origin master

从Github端下载项目文件到本地,通过以下命令即可
git pull origin master
至此就完成了将本地项目与GitHub端的文件版本进行交互同步,如此便可高效的进行项目协作开发和管理了。