zoukankan      html  css  js  c++  java
  • 对Github中Organization内几个概念的理解

    一个github账号可以创建多个仓库(repository),也可以创建多个组织(organization),如下图:

                                                          

    本文只讲述组织以及组织内的几个概念:

    组织

    1:创建组织的界面如下图;Organization account name要全局唯一,因为会通过该账号作为地址的一部分来访问新建的该Organization;通过地址访问Organization示例如下下图:

     

    2:创建好Organization后,可以在Organization内创建Repository,创建Team,并可以invite member到People中;创建好organization后,People内就存在一个member:创建Organization的当前账号。

    组织的形象标识如下图:

    People

    1:People里存放了Organization内的所有member;这些成员可以属于某个Team,也可以不属于Team(我称其为组织内的自由人员)。在People里邀请一个人时的界面如下:

    2:设置被邀请者在组织内的角色Role。

    Member:仅仅可以看到组织内的其他成员(不能对组织内的其他成员进行操作),会被分配对repository的访问权限;

    Owner:对organization拥有所有管理者权限(可以对该组织内的其他成员进行操作),并可以完整的访问所有的repositories和teams。

    Owner角色的成员对组织内的其他成员的操作如下图:

    (1)Change role:改变选中成员的角色,即改为Owner或者Member。

    (2)Convert to outside  collaborator:不知道啥意思?

    (3)Remove from organization:从当前组织中移除选中成员。

    3:为被邀请者选择团队。

    如果勾选了团队,则被邀请者作为团队成员加入组织;

    如果不勾选团队,则被邀请者作为组织内的自由人员加入组织。下图的第二个成员就是组织内的自由人员,不属于任何Team。

    4:角色和团队都设置好以后,发出邀请;在邀请发出后,被邀请者的邮箱会收到一封邮件,经过被邀请者在邮件内同意后,才会加入到组织中,如果勾选了团队,也会加入到团队中。

    结论:member首先属于组织,其次才属于组织内的某个Team,也可以不属于任何Team。

    团队

    1:创建team时,选择可视性;visible:organization内所有人都可以看到这个team;secret:team内的人才可以看到这个team。

    2:创建好团队后,团队里就存在一个member:创建团队的当前账号,该member在Team内的role是Maintainer;还可以邀请别的人进入这个team,一同组成这个Team;其实邀请别人加入Team的过程和在People中邀请别人加入组织的过程是一样的,只不过加入Team的过程是封装好的,默认将Role设置为Member,将Team设置为当前Team。在Team发出邀请后,被邀请者的邮箱会收到一封邮件,经过被邀请者在邮件内同意后,才会加入到Team中,被邀请者加入团队后的role依据被邀请者在组织内的角色来决定。

    注意:团队内的member,有个角色,是团队内的角色:Maintainer(团队拥有者)或Member(团队成员);People内包含了组织内的所有member(不管是否属于某个Team),member还有个角色,是组织内的角色:Owner(组织拥有者)和Member(组织成员)。组织内的角色会对团队内的角色造成影响:如果一个member在组织内的角色是Owner,那么他在团队内的角色就是Maintainer;如果member在组织内的角色是Member,那么他在团队内的角色也是Member。

    仓库

    1:在组织内创建仓库的过程就不再描述;下面描述为organization内的repository分配Teams和Collaborators。

    英文部分描述:组织内的所有成员默认对repository拥有read权限。

    2:下面可以为repository选择team,并为team分配权限;

    3:还可以添加collaborator,并为其分配权限;

    添加collaborator时有2种情况:

    (1):选择的是organization内的自由人员,则直接可将其添加到Collaborators中。

    (2):选择的是和organization没有关系的人,则会给他的邮箱发封邮件,让其点击确认后,才可将其加入到Collaborators中;而且其仅仅是加入到仓库的Collaborators中,并不会成为组织的member。

    4:需要为分配给仓库的Teams和Collaborators分配权限,具体的权限如下:

    (1)Admin 管理者权限(read、clone、push、设置仓库参数、给仓库添加成员 )

    (2)Maintain维护者权限(read、clone、push、设置仓库部分参数)

    (3)Write 写权限(read、clone、push)

    (4)Read 读权限(read、clone) 

    需要注意的一点是:

    如果组织内的某个成员拥有Owner角色,那么无论该成员是否被分配到仓库的Teams和Collaborators中,他都拥有对仓库的所有权限;因为上面讲过:Owner:对organization拥有所有的管理者权限(可以对该组织内的其他成员进行操作),并可以完整的访问所有的repositories和teams。

    总结:

    1:组织内可以创建仓库和团队。

    2:组织内可以加入member,该member还可以被分配给某个团队。

    3:在邀请member时,可以给member分配其在组织内的角色,Owner或者Member。

    4:如果member也被分配到了某个团队,其在团队内也有个角色,Maintainer或者Member,但其在团队内的角色受到其在组织内的角色的影响。

    5:可以给仓库分配Teams和Collaborators,并设置他们对仓库的访问权限。

    6:Collaborators可以来自组织内,也可以来自组织外。

    7:如果组织内的某成员拥有Owner角色,那么无论其是否被分配给仓库,他都拥有对仓库的所有权限。

    总而言之:就是给github账号分配对仓库的操作权限。

    关于github账号创建的仓库(组织外的仓库)的合作者的理解,可以查看《对Github中repository的Collaborators的理解》

  • 相关阅读:
    资料-Java基础:多线程--创建启动线程的多种方式
    资料-Java基础:基础总结-运算符
    资料-Java基础:父子类加载过程
    总结提纲-逐渐补充
    资料-Java基础:类加载处理过程
    资料-Java基础:双亲委派模型
    资料-Java基础:类加载方式及差异
    转载:java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
    无法启动IIS Express web服务,端口正在使用!
    关于在本地新建数据库作业,无法成功的问题【本地SQLSERVER链接的服务器数据库】
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302448.html
Copyright © 2011-2022 走看看