最近在与软件的同学沟通算法实现的过程中,软件实现版本频繁变更;为提高合作效率,用Git与GitHub进行项目管理,总结起来分为两部分:
1. 在Github上创建一个organization,为organization创建repository,为repository创建gh-pages作为项目主页。
2. 用Git进行版本控制,通过push和pull与GitHub端的文件版本进行交互同步。
第一步,点击Github首页右上角创建一个organization,
![](https://i-blog.csdnimg.cn/blog_migrate/18d8d5e509d7d13456d0c32f002078b6.png)
输入团队名称(或者项目名称)和邮箱后,直接create organization。继续可邀请队员,
![](https://i-blog.csdnimg.cn/blog_migrate/cc9a61757c11c0188969e2aef41671f4.png)
这步可跳过,以后我们也可在创建完成后的organization下拉people菜单中重新邀请。
![](https://i-blog.csdnimg.cn/blog_migrate/6bfcac228b00e50effe8936492651b4e.png)
第二步,为这个organization创建repository,用来存放项目文件。
![](https://i-blog.csdnimg.cn/blog_migrate/ba2a58fcc6ee46f20e82cb0e98ed0db5.png)
这里可根据需要设置repository提供私有还是公有服务。勾选使用readme初始化这个repository,这样就可以克隆repository到本地。
第三步,在repository中创建项目之前,我们可以通过添加gh-pages分支创建静态页面,来展示创建的项目。repository被创建后,branch只有一个master,只需要再添加gh-pages分支就可以了。
![](https://i-blog.csdnimg.cn/blog_migrate/b759501e65632b0922cb9ee357656aeb.png)
现在,我们可以通过二级域名 OrganizationName.github.io/repositoryName进入项目主页。
github pages有模板可供选择,点击repository中setting选项,下拉找到github pages,选择中意的主题。
![](https://i-blog.csdnimg.cn/blog_migrate/ffe8706bb925b9e6a669843c4a32938f.png)
至此,我们的GitHub远程项目管理环境已经配置完成。那么怎样运用Git对项目中的文件进行版本控制呢?
第四步:安装好Git之后,创建一个本地的版本库(文件夹test),并且进入这个文件夹。通过命令git init
把这个文件夹变成Git可管理的仓库。
![](https://i-blog.csdnimg.cn/blog_migrate/8f5e1548e4ec708f52862500539244d7.png)
这时你会发现test里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。如果你看不到,是因为它默认是隐藏文件,按下shift + command + . 即可显示出来。
![](https://i-blog.csdnimg.cn/blog_migrate/e704021c1bfd6c27c27a343d76de7e5d.png)
第五步:把项目文件粘贴到这个本地Git仓库里面,然后通过git add
或git add .
把所有或单个项目文件添加到仓库。
![](https://i-blog.csdnimg.cn/blog_migrate/baa145af2a8413838af93ec677df10a4.png)
此时仍提示no commits yet,整个过程中可以一直使用git status来查看你当前的文件add和commit状态状态。
![](https://i-blog.csdnimg.cn/blog_migrate/11530e97f4ce0ed6832b8b759794066a.png)
第六步:用git commit把项目提交到仓库。
![](https://i-blog.csdnimg.cn/blog_migrate/3d6a972ae6b62efcc1649d8408bd7852.png)
-m后面引号里面是本次commit的注释内容,用来标记本次commit。如此,本地Git仓库这边的配置操作完成,接下来连接远程Github仓库。
第七步:由于本地Git仓库和Github repository之间通过SSH加密传输,所以连接时需要创建SSH KEY。先使用$ open ~/.ssh 命令查看一下有没有.ssh目录,
![](https://i-blog.csdnimg.cn/blog_migrate/7f8ae07ddafdd914b9b5aff8c37bfb3c.png)
有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建,
ssh-keygen -t rsa -C "youremail@example.com"
第八步:登录Github,点击右上角头像,打开Settings,再选中SSH and GPG KEYS,
![](https://i-blog.csdnimg.cn/blog_migrate/19247ce1d38f5d8421c1b952f50a0b98.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a176a3430d350c59db5596c7e380cb99.png)
点击右上角的New SSH key,
![](https://i-blog.csdnimg.cn/blog_migrate/38a9907fa51d51d70d1422af498a59a7.png)
Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。
![](https://i-blog.csdnimg.cn/blog_migrate/1bd3c77c040b3eb2f6847df9149a819c.png)
第九步:将Github上创建的repository和本地仓库进行关联,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:
git remote add origin https://github.com/OrganizationName/repositoryName.git
第十步:关联好之后我们就可以把本地库的所有内容推送到Github远程repository中了,由于新创建的repository中的README文件不在本地仓库目录中,这时我们通过以下命令先将内容合并:
git pull --rebase origin master
![](https://i-blog.csdnimg.cn/blog_migrate/f23a7f5b49abad258f245c511c5566fe.png)
然后通过下面命令,将已从本地库上传内容到Github。
git push origin master
![](https://i-blog.csdnimg.cn/blog_migrate/373bc60d32a025cde9b149e52d23c1d3.png)
从Github端下载项目文件到本地,通过以下命令即可
git pull origin master
至此就完成了将本地项目与GitHub端的文件版本进行交互同步,如此便可高效的进行项目协作开发和管理了。