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),以团队为单位授权则方便得多。
  • 如果是以付费账号创建的私密版本库,使用组织方式管理,会有包括只读、读写等更丰富的授权类型,更符合项目管理的实际。

转载于:https://www.cnblogs.com/haore147/p/4219673.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574957.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery根据value值php,表单php传值后jquery清除表单某项value问题

表单php文件我现在写了一个jquery打算每次提交后清除姓名中的内容代码如下$(function() { $(:input,#recordform) .not(:button, :submit, :reset, :hidden) .val() })请问怎么使用啊 加在哪个都无法实现提交后清除姓名求助!回复讨论(解决方案)不知道你的 js 函数 c…

python未将对象引用设置到对象的实例_在Python中使用pingarapi。服务器引发Webfault:对象引用未设置为对象的实例...

大家晚上好。我想说的是,我对wsdl、soap、suds这整件事都很陌生!尽可能多地提供信息。wsdl是这个http://api3.pingar.com/PingarAPIService.asmx?WSDL我花了好几个小时试图找出我正在使用的代码有什么问题,但最终还是一无所获。我借用了这里…

php 网站上传大小限制吗,配置PHP程序网站上传文件大小的限制!

PHP程序做的网站,上传文件大小的限制,是在PHP的配置文件中设置的。WORDPRESS网站也是PHP程序,我们会在WordPress里面的很多地方遇到文件上传大小的限制,比如在媒体库里面,上传图片;恢复数据时,上…

python元组元素抓7_Python3基础 tuple 通过拆分元组向元组中加入新的元素

Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""Author : 行初心Date : 18-9-23Blog : www.cnblogs.com/xingchuxinGitee : gitee.com/zhichengjiu"""def main():new_members (阳明贪…

Hypothesis, 一个很少人会用的Python测试库

在软件开发中,测试是保证代码质量和功能正确性的重要环节。为了提高测试的覆盖率和效率,开发者们创造了许多测试框架和工具。其中 Hypothesis 是一个强大且受欢迎的 Python 测试库,它利用属性基测试的思想,可以自动生成测试数据并…

用户留存 数据统计 php,位运算实现用户留存率

统计留存率之前先弄清一下留存率的概念,百度百科中是这么说的: 用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用应用的被认作是留存;这部分用户占当时新增用户的比例即是留存率,会按照每隔1单位…

php mcrypt取消,php – Mcrypt弃用后如何解密?

我已将我的php版本更新为7.1.我有使用mcrypt加密数据的功能.现在不推荐使用此功能.无论如何我都可以通过回到旧版本的php来解密数据.这是我使用的代码:public function encrypt($plaintext) {$ivSize mcrypt_get_iv_size(self::CIPHER, self::MODE);$iv mcrypt_cr…

线条边框简笔画图片大全_儿童简笔画画大全人物

由于简笔画有概括、形象、幽默、简练的特点,符合儿童生理、心理发展的需要,便于儿童接受与掌握。儿童简笔画画大全人物有哪些呢?下面由学习啦小编带来的儿童简笔画画大全人物,欢迎欣赏!儿童人物简笔画画图片大全欣赏儿童简笔画画人物图1:跳舞的小女孩简…

求两条轨迹间的hausdorff距离_题型 | 圆上有n个点到直线距离为d?

圆上有n个点到直线的距离为d圆 上到直线 的距离为 的点有( )个方法一:常规方法,画图分析由图象可以明显看出,圆在直线上方的部分内没有满足题意的点,在直线下方的部分内有两个满足题意的点。但是这样的方法…

java字符串包含连续数字,Java中包含数字的排序字符串

小编典典尝试使用此比较器,该比较器将删除所有非数字字符,然后将其余字符与数字进行比较:Collections.sort(strings, new Comparator() {public int compare(String o1, String o2) {return extractInt(o1) - extractInt(o2);}int extractInt…

MyEclipse的Debug模式

在MyEclipse中使用debug模式 1, 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下, 2, F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over, 也就是执…

redis setnx 分布式锁_Redis 分布式锁PHP

Redis 分布式锁的作用在单机环境下,有个秒杀商品的活动,在短时间内,服务器压力和流量会陡然上升。这个就会存在并发的问题。想要解决并发需要解决一下问题1、提高系统吞吐率也就是qps 每秒处理的请求书解决问题一:采用内存型数据库…

mysql备份至本地,mysql备份(本地+远程)

整体规划生产环境的mysql数据库,应当每日进行备份,并对较远之前的备份进行删除,由于担心mysql服务器本身崩溃,因此需要考虑将备份的文件同时保存到其他服务器,这样能提高数据安全。备份的方式使用mysqldump&#xff0c…

WinForm窗体自适应分辨率

我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观。实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可…

ping端口_干货分享:shell脚本批量telnet ip 端口

问1:亲,请教个问题,我这边有200台服务器,怎么看它是否在线呢?答:简单,下载个PingInfoView直接批量ping下,能ping通的就在线,反之离线。问2:那怎么看我这200台…

关于PHP代码的开始和结束标签书写,关于PHP结束标签?gt;的使用细节

当PHP解析一个文件时,会寻找开始,标记告诉PHP开始和停止解释其中的代码。此种方式的解析可以使PHP嵌入到各种不同的文档中,凡是在一对开始和结束标记之外的内容都会被PHP解析器忽略。大多数情况下PHP都是嵌入在HTML文档中的。单行注释仅仅注释…

IIS 7.0 部署MVC

开发的MVC 3.0 项目,在部署服务上还是与需要花一点功夫,这里把遇到的问题罗列出来。 本文主要介绍IIS 7.5中安装配置MVC 3.0的具体办法! 部署必备: Microsoft .net FrameWork 4.0安装包 安装ASP.NET MVC 3.0 如果 Asp.NET v4.0.30…

python 爬虫 包_Python爬虫包BeautifulSoup实例(三)

一步一步构建一个爬虫实例,抓取糗事百科的段子先不用beautifulsoup包来进行解析第一步,访问网址并抓取源码# -*- coding: utf-8 -*-# Author: HaonanWu# Date: 2016-12-22 16:16:08# Last Modified by: HaonanWu# Last Modified time: 2016-12-22 20:17:…

phpdesigner8 php7.0,大家千万别用PHPDesigner8 的项目替换,多说是泪,改整个站点中!

PHP PHPDesigner 项目 替换 乱码 大家千万别用PHPDesigner8 的项目替换,多说是泪,改整个站点中!整个项目中文全是乱码,部分文件UTF-8编码变成ANSI编码,不知道有没有大神教我怎么还原回复讨论(解决方案)没有用svn么?没有的话碰上这种问题真的是蛋痛.没有用svn么&…

python 日志不会按照日期分割_python实现日志按天分割

本文实例为大家分享了python实现日志按天分割的具体代码,供大家参考,具体内容如下日志格式:1.1.1.1 - - [30/Apr/2015:00:34:55 0800] “POST /iDataService/services/MemRoomService HTTP/1.0” 200 405 “-” “Axis/1.4” “-”1.1.1.1 - …