Github多人协作,搬砖更快乐
2019-07-26 本文已影响5人
视觉派Pie

当我们在编写大型项目的时候,经常需要多人合作,协同开发,这篇文章我们就总结一下在Github上实现团队合作的三种方式。Github是一个非常好的代码托管工具,具体的使用方法可以参考我之前的这篇文章《Github漫游手册》。
Organization&Team
创建组织
进入Github首页,点击页面右上角的➕按钮,选择New organization创建一个新的组织。

填写组织的名称,选择组织的仓库类型,公开仓库是免费的,私有仓库收费。

新建仓库
创建好组织后,在该组织下新建仓库。

仓库创建成功后,小组中的成员都可以看到。

创建Team
在组织中找到Teams,点击New team,一个组织可以创建多个Team。

填写Team信息

邀请成员
在Team中点击右上角Add a member添加成员。

输入成员的github账户,被邀请的成员需要在邮箱中确认。

授予权限
给Team中的成员授予Manage权限。

授予Manage权限之后,该成员就可以对此仓库进行操作。

可以看到,仓库对team的权限控制有三种
- Admin 管理者权限(可以 read、clone、push、给仓库添加成员 )
- Write 写权限(只能 read、clone、push)
- Read 读权限(只能 read、clone)

另外任意一个Team可以供多个组织使用,到这里权限添加已经全部完成了。
添加Collaborators
我们可以在自己仓库中的Settings中添加合作开发者

在右侧选择Collaborators,输入合作开发者的github账户,点击Add collaborator进行邀请,被邀请者需要在邮箱中进行确认。

被添加进来的成员就拥有了对该仓库的读写权限,可以将该仓库clone到本地进行开发,也同样拥有向该仓库远程提交的权限,但是该仓库不会出现在合作开发者的仓库中。

Fork&Pull request
如果我们想参与开发某个开源项目,可以将这个项目Fork到自己的仓库中。

这样该项目就会创建一份镜像到你自己的仓库中,可以clone到本地,参与开发,但是你修改的内容并不会影响它原本的仓库。

如果你在原仓库的基础上增加了新功能,或者修改了bug,可以向原仓库提出pull request申请,请求merge,原仓库的管理者就会收到消息提示,决定是否合并到原仓库中。
