GitHub上创建组织

简介:

4.3. 组织和团队

GitHub 在早期没有专门为组织提供账号,很多企业用户或大型开源组织只好使用普通用户账号作为组织的共享账号来使用。后来,GitHub推出了组织这一新的账号管理模式,满足大型开发团队的需要。

  • 组织账号是不能用来登录的,它包含一个Owner(拥有者)用户组,只有属于这个组的用户在登录后,才能切换为组织的管理者。
  • 可以创建任意多的团队(Team)即角色,对属于组织的用户进行管理。Owner Team就是组织中权限最高的角色。
  • 组织和用户一样可以创建项目,但是组织没有SSH公钥配置,也不能以组织的身份操作版本库。
  • 组织没有工作描述之类的个人账号才拥有的属性。

4.3.1. 创建新组织

组织是非登录账号,不能像创建普通登录账号那样直接创建,而是需要以GitHub用户身份登录,然后再创建自己的组织,创建者成为组织天然的管理者。

图4-26就是用户gotgithub登录后,通过点击右上角的账号设置图标进入账号设置界面,然后再点击菜单中的“Organizations”进入组织管理界面。

../images/new-org-1.png

图4-26:账号设置中的组织管理

在初始的组织管理界面中组织列表为空,即尚不属于任何组织。可以选择把当前用户gotgithub的账号转换为一个组织账号(前提是gotgithub的账号不属于任何组织)。提供这一账号迁移功能是因为在GitHub提供组织这一新功能之前,很多公司或团队以个人身份创建GitHub账号,但是以组织的形象出现,对于这类账号,GitHub提供了由个人账号向组织账号迁移的途径。

在这里我们不进行这一迁移,而是以用户gotgithub的身份创建一个新的组织。点击“Create New Organization”按钮,显示创建组织表单,如图4-27所示。

../images/new-org-2.png

图4-27:创建新组织

这里填写组织名为 GotGitOrg。创建组织还要选择一个付费方案,默认会选择免费的没有私有版本库的开源方案。

接下来为新建组织设定拥有者(Owner),如图4-28所示。当前用户,即正在创建组织的用户,理所当然成为组织拥有者之一。还可以为组织指派更多的组织拥有者,多个组织拥有者的权限并无差别,都可以管理组织,甚至可以将其他用户从拥有者团队中删除。

../images/new-org-3.png

图4-28:指派组织拥有者

完成创建后,访问用户账号设置界面中的组织面板,如图4-29所示,列出当前用户所属的组织(GotGitOrg)。可以重新对组织进行设定,或者退出组织。注意因为当前用户已经属于一个以上的组织,所以右侧将当前用户转换为组织的按钮被置灰。

../images/new-org-4.png

图4-29:加入组织后的组织管理界面

4.3.2. 组织管理

当用户gotgithub成为新建组织GotGitOrg的一员后,就可以在用户和组织的界面之间切换。点击页面左上角“github”文字图标进入仪表板界面。

../images/dashboard-header.png

图4-30:用户仪表板界面

仪表板页面左上角“github”文字图标的下面就是用户上下文列表框。点击用户上下文下拉列表,如图4-31所示。

../images/dashborad-context.png

图4-31:用户上下文切换列表

在用户上下文列表中选择组织GotGitOrg作为用户上下文后,则仪表板中显示的菜单和个人账号仪表板菜单略有不同,如图4-32所示。

../images/org-dashboard.png

图4-32:组织GotGitOrg的仪表板界面

组织的仪表板界面与用户仪表板的不同之处在于增加了团队管理(Team)和组织管理(Organization Settings)。选择菜单中的“Team”进入团队管理界面,可以在组织中添加任意数量的团队。添加新团队的界面如图4-33所示。

../images/new-team.png

图4-33:添加新团队iOS-Team

创建一个团队需要提供四个选项(如图4-33):

  1. 团队名称。如:iOS-Team。
  2. 团队成员。如:supergirl和omnidroid两个用户作为团队成员。
  3. 团队权限。有三个选择:只读(Pull Only)、读写(Push & Pull)、读写并管理(Push, Pull & Administrative)。
  4. 授权版本库。可以添加一个或多个版本库,只有对授权的版本库才拥有指定权限。

其中团队授权中的只读授权对于免费组织账号创建的开源项目没有实际意义,因为开源项目人人可读,只有对于付费的组织账号创建的私密版本库才体现出价值。关于付费账号和私密版本库将在后面的章节介绍。接下来介绍如何在组织账号下创建版本库。

4.3.3. 版本库管理

组织拥有独立的项目托管空间,点击页面左上角的“github”文字图标进入组织账号的仪表板界面。刚刚建立的组织账号的版本库尚未创建,点击图4-32所示的“New Repository”按钮,创建版本库(即项目)。

新建版本库的界面如图4-34所示。

../images/new-prj-for-org.png

图4-34:新建项目界面

在组织的托管空间创建项目与在普通用户的空间下创建稍有不同,增加了团队设置下拉框。图4-34显示在创建名为MyiPad项目时,只能为项目指派一个已定义团队,要想为项目指派更多团队可以在项目创建完毕通过项目管理界面添加。

下面来看一看如何为已建立项目指派更多的团队。进入项目管理页面,点击左侧菜单项“Team”显示项目的团队管理界面,可以通过该界面,为项目添加和移除团队,如图4-35所示。

../images/org-prj-admin-teams.png

图4-35:项目的团队管理

属于团队的项目(版本库)可以转移给个人,反之亦然。图4-36展示了如何通过项目管理界面在用户和组织之间转移项目(版本库)。

../images/org-prj-admin-transfer.png

图4-36:项目转移

4.3.4. 个人还是组织

若使用“Fork + Pull”的工作模式,通过个人账号还是组织账号托管版本库,几乎没有什么差别。如果一定要找出点不同,那就是在向托管版本库提交Pull Request时,邮件通知的用户范围有所不同。

  • 对于个人账号,对其托管空间内的版本库发出Pull Request,通知邮件会发送给该个人账号及该版本库设置的所有协作者(如果有的话)的邮箱。
  • 对于组织,对其托管空间内的版本库发出Pull Request,不会向组织的邮箱发送Pull Request,也不会向组织的所有者(Owner团队)发送通知邮件,而是向在版本库中拥有Push权限的团队(非Owner团队)成员发送通知邮件。

因此,如果在组织的托管空间创建版本库,一定要要为版本库指派一个拥有Push权限的团队,以免以“Fork + Pull”模式工作时,Pull Request没有人响应。

若是以共享版本库方式(即集中式协同模式)工作的话,使用组织来托管版本库会比使用个人账号托管有效率得多。

  • 以个人账号托管,需要逐一为版本库设置协作者(Collaborators),如果版本库较多且授权相同,配置过程繁琐且易出错。
  • 以组织方式托管,将用户分组,划分为一个一个的团队(Team),以团队为单位授权则方便得多。
  • 如果是以付费账号创建的私密版本库,使用组织方式管理,会有包括只读、读写等更丰富的授权类型,更符合项目管理的实际。
本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/4219673.html,如需转载请自行联系原作者
相关文章
|
6月前
|
机器学习/深度学习 自然语言处理 网络安全
【pkuseg】由于网络策略组织下载请求,因此直接在github中下载细分领域模型medicine
【pkuseg】由于网络策略组织下载请求,因此直接在github中下载细分领域模型medicine
70 1
|
安全 开发工具 开发者
Github创建组织(organization)
创建 Github 组织(Organization)可以让你和你的团队共享代码,更好地管理和协作开发项目。 Github 组织(Organization)是一个非常有用的工具,可以让开发者协同工作并共享他们的代码。首先,登录你的 Github 账户。
399 0
GitHub上如何创建组织?
如何创建组织?   有时在团队协作中,当需要用到多个代码仓库时,就需要一个github的组织了。   github组织允许你管理和组织所有的代码仓库。一个github账户可以在不同的组织中工作。   输入组织名和邮箱即可,暂时不选付费的项目。
1036 0
Github上如何在组织中的代码仓库里,为组织中的小组创建Pull Request(拉取请求/下载请求)?
如何在组织中的代码仓库里,为组织中的小组创建Pull Request(拉取请求/下载请求)?   当你在一个更大的组织中工作时,良好的创建Pull Request(拉取请求/下载请求)的习惯是很重要的。
1133 0
Github上如何在组织中创建代码仓库,并如何授予该组织中某个小组权限?
如何在组织中创建代码仓库,并如何授予该组织中某个小组权限?   比如:在google这样的组织中,代码仓库应该属于组织所有的。   现在在组织中创建代码仓库,并且让开发小组能够访问到该组织新创建的代码仓库。
1569 0
纪念 参与GitHub上第一个组织
颇为起伏的一天。 今天大连的风, 甚是喧嚣。 不过,很高兴,小项目被fork了,也成功成为了一个开源贡献者。 https://github.com/HostsTools 组织 上的那个Windows-python就是我的了,希望这样简单的小软件能让更多人受益吧。
718 0
|
1月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
79 3
|
3月前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
118 2
下一篇
无影云桌面