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

2021年09月15日 阅读数:1
这篇文章主要向大家介绍GitHub 实现多人协同提交代码而且权限分组管理,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

 

前言:

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

 

正文:

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

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

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

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

                           1个组织:青帮ide

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

                              4个teamblog

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

如今能够把思路转换到github中,对应关系权限控制

 

生意人   -->   你注册的github帐户it

水果摊   -->   repository(仓库)

青帮      -->   organization(组织

团队      -->     Team(团队

 


一、github实战--建立组织

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

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

 

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

完整的实例

GitHub 实现多人协同提交代码而且权限分组管理_权限控制_03

 

二、github实战--在组织中建立仓库

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

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

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

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

 

 

三、github实战--在组织中建立team

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

 团队建立完成后,默认这个团队的成员只有一我的,就是该帐号。下面就开始给这个team添加其余成员。

GitHub 实现多人协同提交代码而且权限分组管理_权限控制_07

邀请成功之后,须要被邀请人去本身的邮箱点击一下,确认邀请

 

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

GitHub 实现多人协同提交代码而且权限分组管理_权限控制_08

 

 能够看到,仓库对team的权限控制有三种

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

 

另外任意一个Team能够供多个组织使用,到这里权限添加已经所有完成了。

 

总结

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

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

       二、使用国内比较出名的开源中国git托管服务 

       三、使用GitLab,这须要在本身的服务器上部署。