# 组织[](#组织 "Permalink")

通过 CODEChina 的组织，您可以：

*   将相关项目组装在一起
*   授予成员一次访问多个项目的权限

组也可以嵌套在[子组织中](/docs/user/org/sub_org.md) 。

通过单击顶部导航中的**组织>您的组织**来找到您的组织。

**"组织"**页面显示：

*   选择**您的组织**后， 将会显示**您**所属的全部组织（包括子组织）
*   选中" **浏览组织"**时将显示所有公开的组织列表

" **组织"**页面上的每个组都列出了：

*   它有多少个子组
*   它包含多少个项目
*   该组织有多少个成员，注意这里面不包括从父组织继承的成员
*   如果您具有足够的权限，还将显示组织设置的按钮
*   如果您是成员，也会看到退出该组的按钮

## 用户示例[](#用户示例 "Permalink")

您可以出于多种原因创建组织，例如：

*   通过在同一[命名空间](#命名空间)下组织相关项目并将成员添加到顶级组，可以以较少的步骤授予对多个项目和多个团队成员的访问权限。
*   通过创建小组并包括适当的成员，可以轻松地`@mention`所有团队中的问题并合并请求。

例如，您可以为公司成员创建一个[组织](/docs/user/org/sub_org.md) ，并为每个单独的团队创建一个[子组织](/docs/user/org/sub_org.md). 假设您创建了一个名为`company-team` ，并且在该组中为各个团队`backend-team` ， `frontend-team`和`production-team`创建了子组。

*   从问题开始新的实现时，请添加评论： *" `@company-team` ，让我们开始吧！* *`@company-team/backend-team`您很高兴！"*
*   当您的后端团队需要前端提供帮助时，他们会添加一条评论： *" `@company-team/frontend-team`您能在这里帮助我们吗？"*
*   前端团队完成实施后，他们会评论： *" `@company-team/backend-team` ，它已经完成！* *让我们将其推送到`@company-team/production-team` ！*

## 命名空间[](#命名空间 "Permalink")

在 CODEChina 中，命名空间将会是用户名称、组织名称或子组名的唯一名称。

*   `https://codechina.csdn.net/username`
*   `https://codechina.csdn.net/groupname`
*   `https://codechina.csdn.net/groupname/subgroup_name`

例如，假设有一个名为 Miykael 的用户：

1.  Miykael 在 CODEChina 上使用用户名`Miykael`创建了一个帐户； 他们的个人资料将在`https://codechina.csdn.net/miykael`下访问
2.  Miykael 为他们的团队创建了一个组织，名称为`csdn-team` ； 该组织及其项目将在`https://codechina.csdn.net/csdn-team`下访问
3.  CSDN 创建了一个名为`coding`的子组织 ; 该子组织及其项目将在`https://codechina.csdn.net/csdn-team/coding`下访问

通过这样做：

*   任何团队成员都使用`@miykael`提及 Miykael
*   CSDN通过`@csdn-team`提及了团队中的每个人
*   CSDN只提及`@csdn-team/coding`

> 注：出于系统安全以及知识产权、商标保护等因素，我们预留了一部分namespace，如果您的用户名与预留这部分namespace有冲突，系统将会自动对您在CODEChina中的namespace进行调整。

## 组织内的Issue及合并请求[](#组织内的Issue及合并请求 "Permalink")

Issue及合并请求是项目的一部分。对于组织，您可以在单个列表视图中查看所有[Issue](/docs/user/project/issues.md#issues-list)，也可以查看组织中所有项目的请求合并。

### 批量编辑Issue及合并请求[](#批量编辑Issue及合并请求 "Permalink")

有关详细信息，请参考[批量编辑Issue及合并请求](/docs/user/project/bulk-edit.md) 。

## 新建一个组织[](#新建一个组织 "Permalink")

> 有关不允许用作组名的单词列表，请参见[保留名称](/docs/user/reserved.md) 。

通过以下方式，您可以创建一个新的组织：

*   在顶部菜单中，依次单击" **组织"**和" **您的组织"** ，然后单击绿色按钮" **新建组织"** 

*   或者，在顶部菜单中，展开`+`号并选择**新建组织** 

添加以下信息：

1.  **组织名称**将自动填充 URL（自动填充不支持中文的组织名称）。（可选）您可以修改它，这是在组视图中显示的名称，该名称只能包含：
    *   字母数字字符
    *   中文
    *   下划线
    *   连接符`-`和点
    *   空格
2.  **组 URL**是将托管项目的名称空间. 该网址只能包含：
    *   字母数字字符
    *   下划线
    *   连接符`-`和点（不能以连接符`-`开头或以点结尾）
3.  （可选）可以为新建的组织添加一段简单介绍，以便其他用户了解该组织
4.  （可选）可以为新建的组织上传一个头像
5.  选择新建的组织是否公开可见


## 为组织添加一个用户[](#为组织添加一个用户 "Permalink")

将多个项目放在一个组织中的好处是，您可以通过一个操作就授予某个用户访问该组织中所有项目的权限。

在**组织设置-组织成员设置**中将成员添加到组织，可以通过用户名或者注册邮箱来添加组织成员。

选择[权限级别](/docs/user/permissions.md#permissions) ，然后添加新成员。您还可以设置该用户的到期日期。

假设一个有两个项目的组织：

*   在**组织设置-组织成员设置**页面上，可以将新用户添加到组织中；
*   当将新用户设置为组织的**开发人员**成员时，他们将获得**开发人员**对该组内**所有项目的**访问权限。

如果要提高特定项目的现有用户的访问权限，请将其作为新成员再次添加到特定项目中，并为其添加相应的项目成员角色。

## 申请加入组织[](#申请加入组织 "Permalink")

作为组织所有者，您可以启用或禁用非组织成员请求访问组织的功能。该功能可以通过再**组织设置-常规设置-权限，LFS，2FS**中单击**允许用户请求访问(如果可见性是公开或内部的)**进行开启，该功能默认为启用状态。

如果组织启用了该设置，则非组织成员用户可以请求成为组织的成员。在您要加入的组织页中，单击组织名称后面的**申请权限**按钮即可。

申请访问权限后：

*   通过电子邮件将您的申请告知给组织的所有者（电子邮件将发送给最近活跃的组织所有者）
*   任何组织所有者都可以在组组织成员设置页面上批准或拒绝您的申请

如果您在申请权限被批准之前改变了主意，只需单击" **撤回访问请求"**按钮即可。

## 变更组织的所有者[](#变更组织的所有者 "Permalink")

组织的所有关系是指至少有一个组织成员拥有组织的 [ Owner ](/docs/user/permissions.md#group-members-permissions)，一个组织至少需要一名所有者。

只有拥有一个所有者的组织可以变更组织的所有者。 可以通过以下方式变更组织唯一所有者：

1.  前往组织的 **组织设置-组织成员设置**选项卡；
2.  赋予其他成员**所有者**权限；
3.  让新的所有者删除您的**所有者**权限。

## 移除组织成员[](#移除组织成员 "Permalink")

只有[ Owner ](/docs/user/permissions.md#group-members-permissions)权限的[用户](/docs/user/permissions.md#group-members-permissions)才能管理组织成员。

如果要移除的成员在该组中具有直接成员资格，则可以从该组织中移除该成员； 如果成员资格是从父组继承的，则该成员只能从父组中进行移除。

移除成员时，您可以决定是否取消已经指派给该成员的 Issue 及合并请求。

*   **取消分配给已移除的成员的 Issue及合并请求**可以将已经分配给当前要移除用户的 Issue 及合并请求重新进行分配
*   **保留Issue和合并请求的分配**可能对于接受公开贡献的组织很有帮助，用户可以不必是组织成员就可以为 Issue 及合并请求做出贡献

可以通过以下操作将成员从组织中移除：

1.  在一个组织中，进入 **组织设置-组织成员设置** 
2.  找到要移除的成员，并点击**移除**按钮，这时会弹出 **移除成员** 的弹窗
3.  （可选）选中 **取消分配给已移除的成员的 Issue及合并请求** 的复选框
4.  点击**移除成员**按钮

## 变更组织的默认保护分支[](#变更组织的默认保护分支 "Permalink")

默认情况下，每个组织都会继承全局级别的分支保护。

您可以通过以下操作为特定组织变更此项设置：

1.  打开组织的 **组织设置-常规设置**页面
2.  展开 **权限，LFS，2FA**部分
3.  在**默认分支保护**下拉列表中选择所需的选项
4.  点击 **保存修改**

## 在组织中新建项目[](#在组织中新建项目 "Permalink")

有两种方法可以在组织中新建项目：

*   选择一个组，单击**新建项目**按钮 。 然后，您可以继续[创建您的项目](/docs/basic/create-project.md) 。
*   在创建项目时，从下拉菜单中选择已经创建的组名称空间

### 项目创建权限[](#项目创建权限 "Permalink")

默认情况下， [开发人员和维护人员](/docs/user/permissions.md#group-members-permissions)可以在一个组下创建项目。

可以通过以下操作为特定组更改此项设置：

1.  进入组织的**组织设置>常规设置**页面
2.  展开 **权限，LFS，2FA**部分
3.  在 **允许创建项目**下拉列表中选择所需的选项
4.  点击 **保存修改**

## 查看组织详情[](#查看组织详情 "Permalink")

组织的 **详细信息**页面包含以下内容：

*   组织的基本信息和介绍
*   组织的项目
*   组织已存档的项目
*   组织的成员

## 与组织共享一个项目[](#与组织共享一个项目 "Permalink")

您可以[与组织共享您的项目](/docs/user/project/member/share.md)，并向所有组织成员立即授予对该项目的访问权限。

或者，您可以[锁定与组织共享功能](#锁定与组织共享功能) 。

## 与组织共享另一个组织[](#与组织共享另一个组织 "Permalink")

与[与组织共享项目](#与组织共享一个项目)类似，您可以与一个组织共享另一个组织，以使组织成员可以直接访问共享的组织（注：这对于继承的成员无效）。

要将给定的组（例如"前端"）与另一个组（例如"工程"）共享：

1.  进入到"前端"组织页面，然后进入**组织设置-组织成员设置**页面
2.  单击 **邀请组织** 按钮
3.  选择您要共享的组织"工程"，并设置访问权限
4.  点击 **邀请**

"工程"的所有成员将被添加到"前端"组织中。


## 转移组织[](#转移组织 "Permalink")

您可以通过以下方式转移组织：

*   将子组织转移到新的父组织
*   通过将顶级组织转移到所需的组织，并将其转换为子组织
*   通过将子组织转移到顶级组织，可以将一个子组织转换为组织

转移组织时，请注意：

*   更改组织的父组织可能会产生一些副作用，具体的请参阅[更改存储库路径时的重定向](/docs/user/project.md#redirects-when-changing-repository-paths) ；
*   您只能将组织/子组织转移到您管理的组织/子组织中；
*   您必须手动更新本地存储库以指向新位置；
*   如果将要转移的父组织的公开可见性设置低于当前父组织，那么待转移组织机器项目的公开可见性将会与即将要转移到的父组织保持一致；
*   转移组织时，只有组织直接成员会被转移，从之前父组织集成的成员不会被转移。如果待转移组织的所有者是继承的身份成员，则该组织转移过去后将不会设有所有者，转移组的用户将会自动成为该组的所有者。


## 组织设置[](#组织设置 "Permalink")

创建组织后，在组织详情页您可以进入**组织设置**来对组织进行设置及管理。

### 常规设置[](#常规设置 "Permalink")

除了编辑您在[创建组织](#新建一个组织)时预先设置的内容外，您还可以对该组织的其他内容进行设置。

#### 变更组织的路径[](#变更组织的路径 "Permalink")

变更组织的路径也可能会产生一些副作用，具体的请参考[重定向的行为](/docs/user/project.md#redirects-when-changing-repository-paths) 。

如果您要腾出路径，以便其他组织或用户可以使用该路径，由于名称和路径都必须是唯一的，因此您在变更路径的同时也可能需要重命名该组织。

您可以通过以下操作更改组织的路径：

1.  进入到组织的**组织设置>常规设置**页面
2.  展开**高级**部分
3.  在 **更改组织路径**下输入新的路径
4.  点击 **变更组织路径**

> **注意：**如果命名空间包含带有 Container Registry 标记的项目，则无法重命名该空间，因为该项目无法移动。

> **提示：**如果要保留对原始名称空间的所有权并保护 URL 重定向，我们建议您新建一个群组并向其转移项目，而无需更改组织的路径或重命名用户名。

### 删除一个组织[](#删除一个组织 "Permalink")

您可以通过以下删除组织及其内容：

1.  打开 **组织设置>常规设置**页面
2.  展开**高级**部分
3.  在"删除组织"部分中，单击**删除组织**按钮
4.  根据提示的内容确认删除操作

这个操作将会导致：

*   删除组织，并且将后台作业排队以删除该组织中的所有项目（注：删除行为默认在删除确认后的7天后进行）

### 恢复已删除组织[](#恢复已删除组织 "Permalink")

您可以通过以下操作恢复已经标记为删除的组织：

1.  打开 **组织设置>常规设置**页面.
2.  展开**高级**部分.
3.  在"恢复组织"部分中，单击**恢复组织**按钮.

#### 锁定与组织共享功能[](#锁定与组织共享功能 "Permalink")

该功能可防止一个组织中的[项目与另一个组共享项目](/docs/user/project/member/share.md)，以便对项目访问进行更严格的控制。

例如，假设您有两个不同的团队（A 组和 B 组）在一个项目中一起工作，并且要继承该组成员身份，您可以在 A 组和 B 组之间设置共享项目。**使用组锁共享**可以防止其中的任何项目群组与其他群组共享，从而确保只有合适的群组成员才能访问这些项目。

要启用此功能，请打开组织设置页面， 选择 **禁止与其他组织共享项目**并点击**保存修改**。

#### 禁用电子邮件通知[](#禁用电子邮件通知 "Permalink")

您可以禁用与该组织相关的所有电子邮件通知，其中包括其子组织和项目：

您可以通过以下操作来启用该功能：

1.  进入**组织设置>常规设置**页面
2.  展开**权限，LFS，2FA**部分，然后选择**禁用电子邮件通知** 
3.  点击 **保存修改**

#### 禁用群组提及[](#禁用群组提及 "Permalink")

该功能可以防止用户将群组添加到对话中，并且在任何人提及这些用户所属的组织时通知他们。

@功能的自动完成下拉列表中会相应地显示提及被禁用的组织，这对于具有大量用户的组织特别有用。

您可以通过以下操作来启用该功能：

1.  进入到**组织设置>常规设置**页面
2.  展开" **权限，LFS，2FA**部分，然后选择**禁用群组提及** 
3.  点击 **保存更改**

### 高级设置[](#高级设置 "Permalink")

*   **项目** ：查看该组中的所有项目，将成员添加到每个项目，访问每个项目的设置，以及删除任何项目，所有操作均在同一屏幕上进行
*   **Webhooks** ：为您的组配置 webhooks