GitHub 实现多人协同提交代码并且权限分组管理

简介: 转载请标明出处:  http://www.cnblogs.com/zhaoyanjun/p/5882784.html  出自[赵彦军博客] 2016-09-19   前言: 在上一篇文章中Android github 快速实现多人协作 (http://www.cnblogs.com/zhaoyanjun/p/5829142.html)介绍了如何快速的实现多人协作的功能。

转载请标明出处: 

http://www.cnblogs.com/zhaoyanjun/p/5882784.html 

出自[赵彦军博客] 2016-09-19

 

前言:

在上一篇文章中Android github 快速实现多人协作 (http://www.cnblogs.com/zhaoyanjun/p/5829142.html)介绍了如何快速的实现多人协作的功能。

其优点是:操作简单,快速上手。缺点是:没有办法实现权限控制。为啥要权限控制?这是一个蛋疼的问题,因为我们为了项目的安全考虑,需要对一部分人开放只读权限(只能 read、clone) ; 或者对一部分人开放写权限(只能 read、clone、push) ; 或者对一部分人开放管理者权限(只能 read、clone、push、给仓库添加成员 )。事实上github对权限的管理只有4种,前三种权限分别是 Admin(管理者)、Write(只写) 、Read(只读) 。最后一种权限比较特殊,它是该组织的创建者,拥有至高无上的的权利。

 

正文:

要想弄清楚github权限管理,需要了解几个概念。 organization(组织) 、repository(仓库)、Team(团队

在了解这些概念之前,先听我讲一个小故事。话说从前有个生意人,由于他聪明又能干,他开了水果摊、奶茶店、还有一个网吧。转眼10年过去了,他积累了很多钱,也有了很牛逼的权利,总的来说就是有钱有势有人,于是乎有一天他带领100个兄弟成立一个黑帮组织:青帮。组织成立后,他把100个兄弟分成4个team, 每个team 25个人。团队成立后,兄弟们总不能坐着饿死吧,于是乎他有开了一个ktv 、一个超市、一个足浴大保健。那么问题就来了,怎么让4个team接手这3个项目,要有明确的权限控制,如果权限控制不得当,就会出现自家兄弟互相抢地盘的问题。一个项目可以让多个team管理,一个team可以管多个项目,所以team和项目之间是多对多的关系。

  • 小故事的中的角色资产分析

生意人所拥有的资产:3个项目:水果摊、奶菜店、网吧。

                           1个组织:青帮

青帮组织所拥有的资产:3个项目:Ktv、超市、足浴大保健

                              4个team

注意:水果摊、奶菜店、网吧 这三个项目只属于生意人的资产,不归任何组织所拥有。那延伸一下,生意人是可以再次创建一个新的项目,比如一个4s店;同时他也可以再创建一个新的组织,比如一个洪帮组织。同样在洪帮组织里面可以创建多个team。

现在可以把思路转换到github中,对应关系

 

生意人   -->   你注册的github账户

水果摊   -->   repository(仓库)

青帮      -->   organization(组织

团队      -->     Team(团队

 


1、github实战--创建组织

在故事中,生意人可以创建项目和组织。对应到github上的用户可以创建仓库和组织。

 

完整的实例

 

2、github实战--在组织中创建仓库

  当创建完组织后,来看看组织的结构

在Organ-Name 组织下,创建一个仓库

 

 

3、github实战--在组织中创建team

 团队创建完成后,默认这个团队的成员只有一个人,就是该账号。下面就开始给这个team添加其他成员。

邀请成功以后,需要被邀请人去自己的邮箱点击一下,确认邀请

 

4、github实战--在组织中给仓库添加team并且设置权限。

 

 可以看到,仓库对team的权限控制有三种

  • Admin 管理者权限(只能 read、clone、push、给仓库添加成员 )
  • Write 写权限(只能 read、clone、push)
  • Read 读权限(只能 read、clone) 

 

另外任意一个Team可以供多个组织使用,到这里权限添加已经全部完成了。

 

总结

  • 通过这篇文章可以在github愉快的使用权限管理了,但是github不能免费的创建私有仓库,这是一个很严重的问题。如果是开源项目,用github完全没有问题。如果是私有项目,可以有以下几个途径达到要求

        1、在github花钱购买私有仓库。

       2、使用国内比较出名的开源中国git托管服务:https://git.oschina.net/   

       3、使用GitLab,这需要在自己的服务器上部署。传送门:https://about.gitlab.com/gitlab-com/

 

相关文章
|
3月前
|
开发工具 数据安全/隐私保护 git
如何提交代码到github
如何提交代码到github
|
4月前
|
开发工具 git
[github初学者教程] 分支管理-以及问题解决
[github初学者教程] 分支管理-以及问题解决
33 0
|
7月前
|
存储 JavaScript 前端开发
SAP Commerce Cloud Github 仓库管理规范
SAP Commerce Cloud Github 仓库管理规范
50 0
|
Shell 网络安全 开发工具
Qt实用技巧:QtCreator使用git(gitHub)管理项目代码笔记
Qt实用技巧:QtCreator使用git(gitHub)管理项目代码笔记
Qt实用技巧:QtCreator使用git(gitHub)管理项目代码笔记
|
4月前
|
开发工具 git Windows
Git | 向GitHub提交代码超时处理
向GitHub提交代码超时处理
113 0
|
4月前
GitHub帐户管理更改电子邮件
登录到您的 GitHub 帐户: 前往 GitHub 网站并使用您的凭据登录。 访问个人设置: 单击右上角的您的头像,然后选择“Settings”(设置)。 选择电子邮件选项卡: 在左侧边栏中选择“Emails”(电子邮件)选项卡。 添加新电子邮件地址: 在“Primary email address”(主电子邮件地址)下面,您可以添加一个新的电子邮件地址。输入您想要设置为新主电子邮件地址的邮箱。
49 1
|
8月前
|
网络安全 开发工具 数据安全/隐私保护
Git小乌龟(TortoiseGit) 简单提交代码到github
Git小乌龟(TortoiseGit) 简单提交代码到github
316 0
|
8月前
|
存储
GitHub个人资料自述与管理主题设置
可以通过创建个人资料 README,在 GitHub.com 上与社区分享有关你自己的信息。 GitHub 在个人资料页面的顶部显示您的个人资料自述文件。 您决定在个人资料自述文件中包含哪些信息,因此您可以完全控制如何在 GitHub 上展示自己。 以下是访客可能在您的个人资料自述文件中找到感兴趣、有趣或有用信息的一些示例。 • “About me(关于我)”部分介绍您的工作和兴趣。 • 您引以为豪的贡献以及这些贡献的背景信息 • 在您参与的社区获得帮助的指南
68 0
|
8月前
|
前端开发
前端项目实战拾玖-github提交代码Could not read from remote repository重新生成公钥
前端项目实战拾玖-github提交代码Could not read from remote repository重新生成公钥
34 0
|
8月前
|
前端开发
前端项目实战拾捌-github提交代码的公钥需要设置在全局
前端项目实战拾捌-github提交代码的公钥需要设置在全局
36 0