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

原文地址:http://www.cnblogs.com/zhaoyanjun/p/5882784.html

GitHuub多人协作:

其优点是:操作简单,快速上手。缺点是:没有办法实现权限控制。为啥要权限控制?这是一个蛋疼的问题,因为我们为了项目的安全考虑,需要对一部分人开放只读权限(只能 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/

GitHub多人协同开发是指多个程序员通过GitHub平台共同参与一个项目的开发过程。这种协同开发方式可以提高团队的工作效率和代码质量。具体来说,GitHub提供了一系列的功能和工具来实现多人协同开发: 1. 组织(organization):GitHub的组织是一个集合了多个团队和成员的实体。组织可以创建和管理多个仓库,并为不同团队分配不同的权限。 2. 团队(team):团队是组织下的一个子单位,用于将成员分组并赋予不同的权限。通过创建团队,可以更好地管理协同开发过程中的权限控制和人员分工。 3. 成员(member):成员是指参与协同开发的个人。GitHub可以通过邀请成员加入组织或特定仓库,成员可以根据自己被分配的权限代码进行修改和提交。 4. 仓库(repository):仓库是存储代码和项目文件的地方。在一个仓库中,多个成员可以同时进行代码的编辑和提交,通过版本控制功能可以确保代码的一致性和可追溯性。 在进行GitHub多人协同开发时,通常遵循以下几个步骤: 1. 创建仓库:一个项目通常对应一个仓库,可以通过GitHub网站或命令行工具创建一个新的仓库。 2. 邀请协作者:在仓库设置中,可以邀请其他程序员加入协同开发。通过邀请协作者,可以共享代码并允许其修改和提交。 3. 分支管理:每个开发者可以创建自己的分支,在分支上独立开发和测试。通过分支管理可以避免多人同时修改同一份代码造成冲突,保证开发进度和代码质量。 4. 提交代码:开发者在自己的分支上完成开发后,可以将代码提交到主分支或请求合并。其他开发者可以对代码进行审核和评审,确保代码的质量和规范。 总结起来,GitHub提供了一套完善的工具和功能,使得多人协同开发变得更加高效和可控。通过合理的权限管理、分支管理代码审核,可以确保团队的协同开发顺利进行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [github多人协作开发项目教程,2021新版。](https://blog.csdn.net/qq_45804132/article/details/118669698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [3. github---多人协作开发流程](https://blog.csdn.net/weixin_47505105/article/details/122893403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值