除了个人帐户之外,GitHub 还提供被称为组织(Organizations)的帐户。 组织账户和个人账户一样都有一个用于存放所拥有项目的命名空间,但是许多其他的东西都是不同的。 组织帐户代表了一组共同拥有多个项目的人,同时也提供一些工具用于对成员进行分组管理。 通常,这种账户被用于开源群组(例如:“perl”或者“rails”),或者公司(例如:“google”或者“twitter”)。
我们可以很简单地创建一个组织,只需要点击任意 GitHub 页面右上角的“+”图标,在菜单中选择“New organization”即可。
Figure 6-45. “New organization”菜单项
首先你必须提供组织的名称和组织的主要联系邮箱。 然后,如果你希望的话,也可以邀请其他用户作为共同拥有人。
完成以上步骤后,你就会拥有一个全新的组织。 类似于个人帐户,如果组织的所有内容都是开源的,那么你就可以免费使用这个组织。
作为一个组织的拥有者,当你在派生一个版本库的时候,你可以选择把它派生到你的组织的命名空间内。 当你新建版本库时,你可以把它存放到你的个人帐户或你拥有的组织内。 同时,你也会自动地“关注”所有这些组织内的新版本库。
就像头像,你可以为你的组织上传头像,使它更个性化。 同时,也和个人帐户类似,组织会有一个着陆页(landing page),用于列出该组织所有的版本库,并且该页面可供所有人浏览。
下面我们来说一些组织和个人帐户不同的地方。
组织使用团队(Teams)来管理成员,团队就是组织中的一组个人账户和版本库,以及团队成员对这些版本库的访问权限。
例如,假设你的公司有三个版本库:frontend
、backend
和 deployscripts
。 你会希望你的 HTML/CSS/Javascript 开发者有 frontend
或者 backend
的访问权限,操作人员有backend
和 deployscripts
的访问权限。 团队让这个任务变得更简单,而不用为每个版本库管理它的协作者。
组织页面主要由一个面板(dashboard)构成,这个仪表盘包含了这个组织内的所有版本库,用户和团队。
Figure 6-46. 组织页面
你可以点击 Figure 6-46 右边的团队侧边栏(Teams)来管理你的团队。 点击之后,你会进入一个新页面,在这里你可以添加新成员和版本库到团队中,或者管理团队的访问权限和其它设置。 每个团队对于版本库可以有只读、读写和管理三种权限。 你可以通过点击在 Figure 6-47 内的 “Settings” 按钮更改相应权限等级。
Figure 6-47. 团队页面
当你邀请一个用户加入团队,该用户会收到一封通知他被邀请的邮件。
除此之外,团队也类似于个人帐户,有 @mentions
(例如:@acmecorp/frontend
)的功能,不同之处就在于被提及的团队内所有成员都会成为这个话题的订阅者。 当你希望得到团队中某个人的关注,又不知道具体应该问谁的时候,这个功能就显得很有帮助。
一个用户可以加入任意数量的团队,所以别把自己局限于拥有访问控制的团队。 对于某一类课题,像ux
, css
或者 refactoring
这样有着特殊关注点的团队就显得很有帮助,而像 legal
和colorblind
这样的就完全是针对它们各自领域的。
组织的拥有者还可以访问组织中发生的事情的所有信息。 在 Audit Log 标签页有整个组织的日志,你可以看到谁在世界上哪个地方做了什么事。
Figure 6-48. 审计日志
你也可以通过选定某一类型的事件、某个地方、某个人对日志进行过滤。