提交 fe8ef4d8 编写于 作者: Lab机器人's avatar Lab机器人

init

# 帮助文档
## 概览[](#概览 "Permalink")
欢迎您使用CODEChina,如果您是 Github 或 GitLab 的初级用户,我们建议您从查看本文档开始学习如何使用 CODEChina。如果您熟悉以上两个产品中的一个或多个,您可以直接开始 CODEChina 产品,在产品中我们也会为您设置帮助提示,您可以随时回来查看我们的产品文档。
| 基础入门 | 基本入门 |
| --- | --- |
| [**用户文件**](/docs/user.md)熟悉CODEChina 中的功能和概念. |[**是 Git 和 GitLab/GitHub 的新手吗?**](#刚开始使用gitcodechinagitlabgithub)我们有资源可以帮助您入门 |
| [**为 CODEChina 做贡献**](#为codechina开源做贡献)为CODEChina开源贡献力量! | [**从另一个平台进入 CODEChina?**](#从另一个平台进入到-codechina)请查阅我们的便捷指南 |
## 热门话题[](#热门话题 "Permalink")
以下是我们推荐的一些主题:
### 计划[](#计划 "Permalink")
无论您使用 Waterfall,敏捷还是会话开发,CODEChina 均可简化您的协作工作流程。
使用 CODEChina 灵活的项目管理工具可视化,确定优先级,协调和跟踪进度。
以下文档与 DevOps **计划**阶段有关:
| 计划主题 | 描述 |
| --- | --- |
| Burndown Charts| 在特定的里程碑中观察项目的进度 |
| [讨论](/docs/user/discussions.md) | 问题,提交和合并请求中的线程,注释和可解决线程 |
| [截止日期](/docs/user/project/issues/due-date.md) | 跟踪发行期限|
| Epics | 跟踪共享主题的问题组|
| [ Issue ](/docs/user/project/issues.md) ,包括[机密问题](/docs/user/project/issues/confidential.md)[发布和合并请求模板](/docs/user/project/description-template.md) ,和[移动的问题](/docs/user/project/issues/manage.md#moving-issues) | 项目问题并限制对问题的访问,并创建用于提交新问题和合并请求的模板。 此外,在项目之间转移问题|
| [标签](/docs/user/project/label.md) | 分类问题或使用描述性标签合并请求|
| [里程碑](/docs/user/project/milestone.md) | 设置发布问题和合并请求的里程碑,并带有可选的截止日期|
| [看板](/docs/user/project/kanban.md) | 在 Scrum 或看板上显示问题|
| [快捷方式](/docs/user/shortcutkey.md) | 针对问题或合并请求的常见操作的快捷方式,而无需单击按钮或在WEB界面中使用下拉菜单 |
| [关联 Issue](/docs/user/project/issues/crosslinking.md) | 在问题之间建立关系 |
| Roadmap | 可视化史诗般的时间表 |
| [时间跟踪](/docs/user/project/time-track.md) | 跟踪花费在问题和合并请求上的时间 |
| [代办事项](/docs/user/todo.md) | 通过在简单仪表板上显示的时间顺序列表,跟踪需要注意的工作 |
[返回概览](#概览)
### 新建[](#新建 "Permalink")
将源代码整合到一个易于管理和控制的[分布式版本控制系统中](https://en.wikipedia.org/wiki/Distributed_version_control) ,而不会中断您的工作流程。
CODEChina 存储库随附分支工具和访问控制,可为项目和代码的协作提供可扩展的单一事实来源。
以下文档与 DevOps **新建**阶段有关:
#### 项目和组织[](#项目和组织 "Permalink")
| 创建主题-项目和组 | 描述 |
| --- | --- |
| 全局搜索 | 利用 Elasticsearch 在整个 CODEChina 实例上进行更快,更高级的代码搜索|
| 语法检索 | 使用高级查询获得更具针对性的搜索结果|
| Contribution analytics | 请参阅小组贡献者的详细统计信息|
| [创建](/docs/basic/create-project.md)并 fork 项目,以及[导入项目](/docs/user/project/import.md) | 创建,复制和移动项目 |
| 锁定文件 | 锁定文件以避免合并冲突 |
| [组织](/docs/user/org.md) and [子组织](/docs/user/org/sub_org.md) | 分组组织您的项目 |
| Issue 分析 | 检查每月创建了多少个问题|
| [项目](/docs/user/project.md) ,包括项目访问和[设置](/docs/user/project/settings.md) | 托管源代码,并控制项目的可见性和设置配置。|
| [搜索](/docs/img/add_user_search_people.png) | 搜索问题,合并请求,项目,组和待办事项。|
| [Web IDE](/docs/user/project/webide.mdl) | 在 WebIDE 中编辑文件|
| [Wikis](/docs/user/project/wiki.md) | 使用内置的 Wiki 来管理您的文档|
[返回概览](#概览)
#### 代码仓库[](#代码仓库 "Permalink")
| 创建主题-代码仓库 | 描述 |
| --- | --- |
| [分支](/docs/user/project/repo/branches.md)[默认分支](/docs/user/project/repo/branches.md#default-branch) | 如何在 CODEChina 中使用分支 |
| [提交](/docs/user/project/repo.md#commits) and [署名提交](/docs/user/project/repo/gpg-sign.md) | 处理提交,并使用 GPG 对您的提交进行签名 |
| [创建分支](/docs/user/project/repo/web-editor.md#create-a-new-branch)[创建](/docs/user/project/repo/web-editor.md#create-a-file)[上传](/docs/user/project/repo/web-editor.md#upload-a-file)文件,并[创建目录](/docs/user/project/repo/web-editor.md#create-a-directory) | 创建分支,创建和上传文件以及创建目录|
| [删除已合并的分支](/docs/user/project/repo/branches.md#delete-merged-branches) | 合并更改后的批量删除分支|
| [文件模板](/docs/user/project/repo/web-editor.md#template-dropdowns) | 通用文件的文件模板 |
| [文件](/docs/user/project/repo.md#files) | 文件管理 |
| Jupyter Notebook 文件 | 对`.ipynb`文件的支持 |
| [保护分支](/docs/user/project/protected-branch.md) | 使用受保护的分支 |
| 推送规则| 对项目推送的附加控制 |
| [代码仓库](/docs/user/project/repo.md) | 在网页中管理源代码仓库 |
| 镜像代码仓库 | 推入或拉出外部的代码仓库 |
| [处理合并请求](/docs/user/project/repo/web-editor.md#tips) | 在提交时启动合并请求 |
[返回概览](#概览)
#### 合并请求[](#合并请求 "Permalink")
| 创建主题-合并请求 | 描述 |
| --- | --- |
| 在本地处理合并请求 | 在本地处理合并请求的提示|
| [Cherry-pick](/docs/user/project/merge-request/cherry-pick.md) | 对更改进行 Cherry Pick |
| [Merge request thread resolution](/docs/user/discussions.md#moving-a-single-thread-to-a-new-issue) | 解析线程,将合并请求中的线程移至问题,并且仅在解决所有线程后才允许合并请求 |
| [合并请求](/docs/user/project/merge-request.md) | 合并请求管理 |
| [草稿合并请求](/docs/user/project/merge-request/draft.md) | 防止合并草稿合并请求 |
[返回概览](#概览)
## 刚开始使用Git/CODEChina/GitLab/Github?[](#刚开始使用git吗 "Permalink")
使用新系统可能让您觉得难以入手,我们有以下文档可快速提升您的相关知识:
| 主题 | 描述 |
| --- | --- |
| Basics guides | 开始在命令行和 CODEChina 上工作 |
| Workflow overview | 利用最佳的工作流程增强您的工作流程 |
| [Markdown](/docs/user/markdown.md) | 高级格式化系统(Markdown) |
[返回概览](#概览)
### 账户管理[](#账户管理 "Permalink")
了解有关帐户管理的更多信息:
| 主题 | 描述 |
| --- | --- |
| [用户账号](/docs/user/account.md) | 管理您的帐户 |
| 账号验证 | 设置您的 SSH 密钥,并部署密钥以安全地访问您的项目 |
| [用户权限](/docs/user/permissions.md) | 了解项目中的每个角色可以做什么 |
[返回概览](#概览)
### Git 和 CODEChina[](#Git和CODEChina "Permalink")
了解有关使用 Git 以及将 Git 与 CODEChina 结合使用的更多信息:
| 主题 | 描述 |
| --- | --- |
| Git | Git 入门,分支策略,Git LFS 和高级用法 |
| [Git cheat sheet](https://about.gitlab.com/images/press/git-cheat-sheet.pdf) | 下载描述最常用的 Git 操作的 PDF|
| Work Flow| 使用 Work Flow 策略探索 Git 的精华 |
[返回概览](#概览)
## 从另一个平台进入到 CODEChina?[](#从另一个平台进入到codechina "Permalink")
如果您是从另一个平台进入 CODEChina,您会发现以下有用信息:
| 主题 | 描述 |
| --- | --- |
| [导入项目](/docs/user/project/import.md) | 从 GitHub,Bitbucket,GitLab.com,FogBugz 和 SVN 导入项目 |
| 从SVN迁移 | 将 SVN 存储库转换为 Git 和 CODEChina |
[返回概览](#概览)
## 为CODEChina开源做贡献[](#为codehina开源做贡献 "Permalink")
CODEChina 是开源的,您可以通过以下方式为我们的开源社区做出贡献:
| 主题 | 描述 |
| --- | --- |
| 开发 | 如何在开发上做贡献 |
| 协议 | 贡献者许可协议 |
| 文档 | 如何在文档上做贡献|
[返回概览](#概览)
\ No newline at end of file
# Summary
* [首页](README.md)
* [概览](docs/overview.md)
* [组织](docs/user/org.md)
* [子组织](docs/user/org/sub_org.md)
* [项目](docs/user/project.md)
* [徽章](docs/user/project/badges.md)
* [批量编辑](docs/user/project/bulk-edit.md)
* [新建项目](docs/basic/create-project.md)
* [描述模板](docs/user/project/description-template.md)
* [文件查找](docs/user/project/repo/file-find.md)
* [合并请求](docs/user/project/merge-request.md)
* [允许协作](docs/user/project/merge-request/fork-collaboration.md)
* [创建合并请求](docs/user/project/merge-request/create-merge-request.md)
* [Cherry-pick](docs/user/project/merge-request/cherry-pick.md)
* [快进合并](docs/user/project/merge-request/fast-forward.md)
* [解决冲突](docs/user/project/merge-request/resolve-conflicts.md)
* [还原](docs/user/project/merge-request/revert.md)
* [评审及管理](docs/user/project/merge-request/reviewing.md)
* [Squash合并](docs/user/project/merge-request/squash.md)
* [合并请求版本](docs/user/project/merge-request/versions.md)
* [草稿](docs/user/project/merge-request/draft.md)
* [项目成员](docs/user/project/member.md)
* [导入](docs/user/project/import.md)
* [Github](docs/user/project/import/github.md)
* [URL](docs/user/project/import/by-url.md)
* [Releases](docs/user/project/releases.md)
* [代码仓库](docs/user/project/repo.md)
* [分支](docs/user/project/repo/branches.md)
* [Git属性](docs/user/project/git-attr.md)
* [文件指责](docs/user/project/repo/blame.md)
* [文件历史记录](docs/user/project/repo/history.md)
* [保护分支](docs/user/project/protected-branch.md)
* [保护Tag](docs/user/project/protected-tag.md)
* [减少仓库大小](docs/user/project/repo/reduce-repo-size.md)
* [GPG签名提交](docs/user/project/repo/gpg-sign.md)
* [文件编辑](docs/user/project/repo/web-editor.md)
* [WebIDE](docs/user/project//webide.md)
* [项目设置](docs/user/project/settings.md)
* [与群组共享项目](docs/user/project/member/share.md)
* [wiki](docs/user/project/wiki.md)
* [Issues](docs/user/project/issues.md)
* [机密Issue](docs/user/project/issues/confidential.md)
* [关联Issue](docs/user/project/issues/crosslinking.md)
* [截止日期](docs/user/project/issues/due-date.md)
* [看板](docs/user/project/kanban.md)
* [操作Issue](docs/user/project/issues/actions.md)
* [标签](docs/user/project/label.md)
* [管理Issue](docs/user/project/issues/manage.md)
* [里程碑](docs/user/project/milestone.md)
* [Issue排序](docs/user/project/issues/sort.md)
* [用户](docs/user.md)
* [举报用户](docs/user/abuse.md)
* [用户账号](docs/user/account.md)
* [登录日志](docs/user/account/logs.md)
* [用户权限](docs/user/permissions.md)
* [个人访问令牌](docs/user/profile/token.md)
* [个人偏好](docs/user/profile/preferences.md)
* [探讨](docs/user/discussions.md)
* [SSH密钥](docs/ssh.md)
* [快捷键](docs/user/shortcutkey.md)
* [Markdown](docs/user/markdown.md)
* [电子邮件通知](docs/user/account/email-notify.md)
* [快速操作](docs/user/project/quick-actions.md)
* [自动填充](docs/user/project/autofill.md)
* [预留命名空间](docs/user/reserved.md)
* [搜索](docs/user/search.md)
* [时间跟踪](docs/user/project/time-track.md)
* [待办事项](docs/user/todo.md)
\ No newline at end of file
{
"title" : "CODEChina帮助文档",
"author" : "Miykael",
"description" : "CODEChina开源社区用户使用及帮助文档",
"language" : "zh-hans",
"links" : {
"sidebar" : {
}
},
"plugins" : [
"favicon",
"back-to-top-button",
"popup",
"theme-fexa",
"-sharing",
"sharing-plus",
"tbfed-pagefooter",
"chapter-fold",
"-lunr",
"-search",
"search-pro"
],
"variables": {
"themeFexa":{
"nav":[
{
"url":"/",
"target":"_blank",
"name": "开始使用"
}
]
}
},
"pluginsConfig": {
"favicon": {
"shortcut": "/docs/img/logo-s.png",
"bookmark": "/docs/img/logo-s.png",
"appleTouch": "/docs/img/logo-s.png",
"appleTouchMore": {
"120x120": "",
"180x180": "/docs/img/logo-s.png"
}
},
"theme-fexa":{
"search-placeholder":"输入关键字搜索",
"logo":"/docs/img/logo.png",
"favicon": "",
"url":"/"
},
"sharing": {
"douban": true,
"facebook": false,
"google": false,
"qq": true,
"qzone": true,
"twitter": false,
"weibo": true,
"all": [
"douban", "facebook", "google", "instapaper", "linkedin","twitter", "weibo",
"messenger","qq", "qzone","viber","whatsapp"
]
},
"tbfed-pagefooter": {
"copyright":"Copyright &copy CODECHINA 2020",
"modify_label": "该文件修订时间:",
"modify_format": "YYYY-MM-DD HH:mm:ss"
}
}
}
\ No newline at end of file
文件已添加
# 新建项目[](#create-a-project "Permalink")
开发中大多数工作都在一个[项目](/docs/user/project/repo.md)完成,文件和代码都保存在项目中,并且大多数功能都将在项目范围内使用。
## 新建一个项目[](#create-a-project "Permalink")
您可以按照以下步骤新建一个项目:
1. 点击导航栏中的加号图标并点击新建项目,这将打开" **新建项目"**页面
2. 在" **新建项目"**页面上,可以选择:
* 创建一个[空白项目](#blank-projects)
* 使用可用的[项目模板](#project-templates)之一创建一个项目
* 从其他第三方导入一个项目,目前支持 github 以及 url 导入这两种方式
**注意:**有关不能用作项目名称的单词列表,请参见[保留的项目和组名称](/docs/user/reserved.md)
### 空项目[](#blank-projects "Permalink")
要在" **新建项目"**页面上创建一个新的空白项目,请执行以下操作:
1. 在" **空白项目"**选项卡上,提供以下信息:
* **项目名称****项目名称**字段中. 您不能使用特殊字符,但可以使用空格,连字符,下划线甚至表情符号;添加名称时, **项目 URL**将自动填充(仅在项目名称不含中文时会自动填充)
* **项目 URL**字段中项目的路径是项目的 URL 路径
* 使用" **项目描述"(可选)**字段,您可以为项目的仪表板输入描述,这将帮助其他人了解您的项目的含义;尽管不是必需的,但我们建议您还是填写上您的项目简介。
* 更改" **可见性级别"**会修改用户的项目查看和访问权限
* 选择**使用 README 初始化存储库**选项将创建一个 README 文件,以便 Git 存储库被初始化,具有默认分支并可以被克隆
2. 点击 **新建项目**
### 项目模板[](#project-templates "Permalink")
项目模板可以使用必要的文件预填充新项目,以使您快速入门。
有两种类型的项目模板:
* [内置模板](#built-in-templates) ,来自以下组:
* [`project-templates`](https://gitlab.com/gitlab-org/project-templates)
* [`pages`](https://gitlab.com/pages)
* [自定义项目模板](#custom-project-templates-premium)
#### 内置模板[](#built-in-templates "Permalink")
内置模板是项目模板,它们是:
*[`project-templates`](https://gitlab.com/gitlab-org/project-templates)[`pages`](https://gitlab.com/pages)组中开发和维护
* 与 GitLab 一起发布
要在" **新建项目"**页面上使用内置模板,请执行以下操作:
1. 在" **从模板创建"**选项卡上,选择" **内置模板"**选项卡
2. 从可用的内置模板列表中,单击:
* **预览**按钮以查看模板源本身
* **使用模板**按钮开始创建项目
3. 通过填写项目的详细信息来完成创建项目, 该过程与创建[空白项目](#blank-projects)相同
#### 自定义项目模板[](#custom-project-templates-premium "Permalink")
自定义项目可以从**实例**选项卡,或在组级别从**组**选项卡,在**从模板**标签上的**创建** ,创建过程与内置模板创建项目基本一致。
\ No newline at end of file
# 帮助文档
## 概览[](#概览 "Permalink")
欢迎您使用CODEChina,如果您是 Github 或 GitLab 的初级用户,我们建议您从查看本文档开始学习如何使用 CODEChina。如果您熟悉以上两个产品中的一个或多个,您可以直接开始 CODEChina 产品,在产品中我们也会为您设置帮助提示,您可以随时回来查看我们的产品文档。
| 基础入门 | 基本入门 |
| --- | --- |
| [**用户文件**](/docs/user.md)熟悉CODEChina 中的功能和概念. |[**是 Git 和 GitLab/GitHub 的新手吗?**](#刚开始使用gitcodechinagitlabgithub)我们有资源可以帮助您入门 |
| [**为 CODEChina 做贡献**](#为codechina开源做贡献)为CODEChina开源贡献力量! | [**从另一个平台进入 CODEChina?**](#从另一个平台进入到-codechina)请查阅我们的便捷指南 |
## 热门话题[](#热门话题 "Permalink")
以下是我们推荐的一些主题:
### 计划[](#计划 "Permalink")
无论您使用 Waterfall,敏捷还是会话开发,CODEChina 均可简化您的协作工作流程。
使用 CODEChina 灵活的项目管理工具可视化,确定优先级,协调和跟踪进度。
以下文档与 DevOps **计划**阶段有关:
| 计划主题 | 描述 |
| --- | --- |
| Burndown Charts| 在特定的里程碑中观察项目的进度 |
| [讨论](/docs/user/discussions.md) | 问题,提交和合并请求中的线程,注释和可解决线程 |
| [截止日期](/docs/user/project/issues/due-date.md) | 跟踪发行期限|
| Epics | 跟踪共享主题的问题组|
| [ Issue ](/docs/user/project/issues.md) ,包括[机密问题](/docs/user/project/issues/confidential.md)[发布和合并请求模板](/docs/user/project/description-template.md) ,和[移动的问题](/docs/user/project/issues/manage.md#moving-issues) | 项目问题并限制对问题的访问,并创建用于提交新问题和合并请求的模板。 此外,在项目之间转移问题|
| [标签](/docs/user/project/label.md) | 分类问题或使用描述性标签合并请求|
| [里程碑](/docs/user/project/milestone.md) | 设置发布问题和合并请求的里程碑,并带有可选的截止日期|
| [看板](/docs/user/project/kanban.md) | 在 Scrum 或看板上显示问题|
| [快捷方式](/docs/user/shortcutkey.md) | 针对问题或合并请求的常见操作的快捷方式,而无需单击按钮或在WEB界面中使用下拉菜单 |
| [关联 Issue](/docs/user/project/issues/crosslinking.md) | 在问题之间建立关系 |
| Roadmap | 可视化史诗般的时间表 |
| [时间跟踪](/docs/user/project/time-track.md) | 跟踪花费在问题和合并请求上的时间 |
| [代办事项](/docs/user/todo.md) | 通过在简单仪表板上显示的时间顺序列表,跟踪需要注意的工作 |
[返回概览](#概览)
### 新建[](#新建 "Permalink")
将源代码整合到一个易于管理和控制的[分布式版本控制系统中](https://en.wikipedia.org/wiki/Distributed_version_control) ,而不会中断您的工作流程。
CODEChina 存储库随附分支工具和访问控制,可为项目和代码的协作提供可扩展的单一事实来源。
以下文档与 DevOps **新建**阶段有关:
#### 项目和组织[](#项目和组织 "Permalink")
| 创建主题-项目和组 | 描述 |
| --- | --- |
| 全局搜索 | 利用 Elasticsearch 在整个 CODEChina 实例上进行更快,更高级的代码搜索|
| 语法检索 | 使用高级查询获得更具针对性的搜索结果|
| Contribution analytics | 请参阅小组贡献者的详细统计信息|
| [创建](/docs/basic/create-project.md)并 fork 项目,以及[导入项目](/docs/user/project/import.md) | 创建,复制和移动项目 |
| 锁定文件 | 锁定文件以避免合并冲突 |
| [组织](/docs/user/org.md) and [子组织](/docs/user/org/sub_org.md) | 分组组织您的项目 |
| Issue 分析 | 检查每月创建了多少个问题|
| [项目](/docs/user/project.md) ,包括项目访问和[设置](/docs/user/project/settings.md) | 托管源代码,并控制项目的可见性和设置配置。|
| [搜索](/docs/img/add_user_search_people.png) | 搜索问题,合并请求,项目,组和待办事项。|
| [Web IDE](/docs/user/project/webide.mdl) | 在 WebIDE 中编辑文件|
| [Wikis](/docs/user/project/wiki.md) | 使用内置的 Wiki 来管理您的文档|
[返回概览](#概览)
#### 代码仓库[](#代码仓库 "Permalink")
| 创建主题-代码仓库 | 描述 |
| --- | --- |
| [分支](/docs/user/project/repo/branches.md)[默认分支](/docs/user/project/repo/branches.md#default-branch) | 如何在 CODEChina 中使用分支 |
| [提交](/docs/user/project/repo.md#commits) and [署名提交](/docs/user/project/repo/gpg-sign.md) | 处理提交,并使用 GPG 对您的提交进行签名 |
| [创建分支](/docs/user/project/repo/web-editor.md#create-a-new-branch)[创建](/docs/user/project/repo/web-editor.md#create-a-file)[上传](/docs/user/project/repo/web-editor.md#upload-a-file)文件,并[创建目录](/docs/user/project/repo/web-editor.md#create-a-directory) | 创建分支,创建和上传文件以及创建目录|
| [删除已合并的分支](/docs/user/project/repo/branches.md#delete-merged-branches) | 合并更改后的批量删除分支|
| [文件模板](/docs/user/project/repo/web-editor.md#template-dropdowns) | 通用文件的文件模板 |
| [文件](/docs/user/project/repo.md#files) | 文件管理 |
| Jupyter Notebook 文件 | 对`.ipynb`文件的支持 |
| [保护分支](/docs/user/project/protected-branch.md) | 使用受保护的分支 |
| 推送规则| 对项目推送的附加控制 |
| [代码仓库](/docs/user/project/repo.md) | 在网页中管理源代码仓库 |
| 镜像代码仓库 | 推入或拉出外部的代码仓库 |
| [处理合并请求](/docs/user/project/repo/web-editor.md#tips) | 在提交时启动合并请求 |
[返回概览](#概览)
#### 合并请求[](#合并请求 "Permalink")
| 创建主题-合并请求 | 描述 |
| --- | --- |
| 在本地处理合并请求 | 在本地处理合并请求的提示|
| [Cherry-pick](/docs/user/project/merge-request/cherry-pick.md) | 对更改进行 Cherry Pick |
| [Merge request thread resolution](/docs/user/discussions.md#moving-a-single-thread-to-a-new-issue) | 解析线程,将合并请求中的线程移至问题,并且仅在解决所有线程后才允许合并请求 |
| [合并请求](/docs/user/project/merge-request.md) | 合并请求管理 |
| [草稿合并请求](/docs/user/project/merge-request/draft.md) | 防止合并草稿合并请求 |
[返回概览](#概览)
## 刚开始使用Git/CODEChina/GitLab/Github?[](#刚开始使用git吗 "Permalink")
使用新系统可能让您觉得难以入手,我们有以下文档可快速提升您的相关知识:
| 主题 | 描述 |
| --- | --- |
| Basics guides | 开始在命令行和 CODEChina 上工作 |
| Workflow overview | 利用最佳的工作流程增强您的工作流程 |
| [Markdown](/docs/user/markdown.md) | 高级格式化系统(Markdown) |
[返回概览](#概览)
### 账户管理[](#账户管理 "Permalink")
了解有关帐户管理的更多信息:
| 主题 | 描述 |
| --- | --- |
| [用户账号](/docs/user/account.md) | 管理您的帐户 |
| 账号验证 | 设置您的 SSH 密钥,并部署密钥以安全地访问您的项目 |
| [用户权限](/docs/user/permissions.md) | 了解项目中的每个角色可以做什么 |
[返回概览](#概览)
### Git 和 CODEChina[](#Git和CODEChina "Permalink")
了解有关使用 Git 以及将 Git 与 CODEChina 结合使用的更多信息:
| 主题 | 描述 |
| --- | --- |
| Git | Git 入门,分支策略,Git LFS 和高级用法 |
| [Git cheat sheet](https://about.gitlab.com/images/press/git-cheat-sheet.pdf) | 下载描述最常用的 Git 操作的 PDF|
| Work Flow| 使用 Work Flow 策略探索 Git 的精华 |
[返回概览](#概览)
## 从另一个平台进入到 CODEChina?[](#从另一个平台进入到codechina "Permalink")
如果您是从另一个平台进入 CODEChina,您会发现以下有用信息:
| 主题 | 描述 |
| --- | --- |
| [导入项目](/docs/user/project/import.md) | 从 GitHub,Bitbucket,GitLab.com,FogBugz 和 SVN 导入项目 |
| 从SVN迁移 | 将 SVN 存储库转换为 Git 和 CODEChina |
[返回概览](#概览)
## 为CODEChina开源做贡献[](#为codehina开源做贡献 "Permalink")
CODEChina 是开源的,您可以通过以下方式为我们的开源社区做出贡献:
| 主题 | 描述 |
| --- | --- |
| 开发 | 如何在开发上做贡献 |
| 协议 | 贡献者许可协议 |
| 文档 | 如何在文档上做贡献|
[返回概览](#概览)
\ No newline at end of file
# SSH密钥[](#ssh "Permalink")
Git 是一个分布式版本控制系统,这意味着您可以在本地工作. 此外,您还可以将更改共享或"推送"到其他服务器. CODEChina 支持使用 SSH 密钥在 Git 及其服务器之间进行安全通信.
SSH 协议提供的这种安全机制,并允许您向 CODEChina 远程服务器进行身份验证,而无需每次都提供用户名或密码,我们推荐您使用这种方式来作为您推拉代码的凭据。
通过阅读本文档可以帮助您配置安全的 SSH 密钥,这些密钥可用于帮助保护与 CODEChina 代码仓库的安全连接。
* 如果您需要有关创建 SSH 密钥的信息,请从我们的[ SSH 密钥选项](#options-for-ssh-keys)开始
* 如果您有专用于 CODEChina 帐户的 SSH 密钥,则可能对[使用非默认 SSH 密钥对路径](#working-with-non-default-ssh-key-pair-paths)感兴趣
* 如果您已经有了 SSH 密钥对,则可以转到[将 SSH 密钥添加到 CODEChina 帐户的方法](#adding-an-ssh-key-to-your-gitlab-account)
## 环境要求[](#requirements "Permalink")
为了支持 SSH,CODEChina 需要安装 OpenSSH 客户端,该客户端已预装在 GNU / Linux 和 macOS 上,但未预先安装在 Windows 上。
我们要求您使用 SSH 6.5 或更高版本,因为它不包括现在不安全的 MD5 签名。您可以通过下命令查看系统上安装的 SSH 版本:
```
ssh -V
```
## SSH 密钥选项[](#options-for-ssh-keys "Permalink")
CODEChina 支持使用 RSA,DSA,ECDSA 和 ED25519 密钥。
**提示:**现有文档表明 ED25519 更安全,如果使用 RSA 密钥,则美国国家科学技术研究院[出版物 800-57 第 3 部分(PDF)](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57Pt3r1.pdf)建议密钥大小至少为 2048 位。
因此,我们主要介绍 ED25519 和 RSA 这两种密钥的使用方法。
## 查看现有的 SSH 密钥[](#review-existing-ssh-keys "Permalink")
如果您已有 SSH 密钥,则可以使用它们来与 CODEChina 的代码库进行连接。 默认情况下,Linux 和 macOS 系统上的 SSH 密钥存储在用户的主目录中的`.ssh/`子目录中,下表包括每种 SSH 密钥算法的默认文件名:
| 算法 | 公钥 | 私钥 |
| --- | --- | --- |
| ED25519(首选) | `id_ed25519.pub` | `id_ed25519` |
| RSA(至少 2048 位密钥大小) | `id_rsa.pub` | `id_rsa` |
| DSA(已弃用) | `id_dsa.pub` | `id_dsa` |
| ECDSA | `id_ecdsa.pub` | `id_ecdsa` |
有关建议,请查看[SSH 密钥的选项](#options-for-ssh-keys)
## 生成 SSH 密钥[](#generating-a-new-ssh-key-pair "Permalink")
SSH 密钥的生成方式如下:
* ED25519 密钥,请查看[ED25519 SSH 密钥](#ed25519-ssh-keys)
* RSA 密钥,请查看[RSA SSH 密钥](#rsa-ssh-keys)
### ED25519 SSH keys[](#ed25519-ssh-keys "Permalink")
[Practical Cryptography With Go](https://leanpub.com/gocrypto/read#leanpub-auto-chapter-5-digital-signatures) 一书中表明 [ED25519](https://ed25519.cr.yp.to/) 密钥比 RSA 密钥更为安全。
2014年 OpenSSH 6.5 引入 ED25519 SSH 密钥后,当前任何操作系统都可用使用这种密钥。
您可以使用以下命令创建和配置 ED25519 密钥:
```
ssh-keygen -t ed25519 -C "<comment>"
```
`-C`(例如带引号注释的电子邮件地址)是标记 SSH 密钥的可选方法。
您将看到类似于以下内容的响应:
```
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519):
```
要获得指导,请继续执行[常见步骤](#common-steps-for-generating-an-ssh-key-pair) .
### RSA SSH 密钥[](#rsa-ssh-keys "Permalink")
如果您使用 RSA 密钥生成 SSH 密钥,则我们建议您至少使用 [ 2048 位](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57Pt3r1.pdf)的密钥大小. 默认情况下, `ssh-keygen`命令创建一个 1024 位 RSA 密钥.
您可以使用以下命令创建和配置 RSA 密钥,如果需要,可以生成建议的最小密钥大小`2048`
```
ssh-keygen -t rsa -b 2048 -C "email@example.com"
```
`-C`标志(例如带引号注释的电子邮件地址)是标记 SSH 密钥的可选方法。
您将看到类似于以下内容的响应:
```
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
```
要获得指导,请继续执行[常见步骤](#common-steps-for-generating-an-ssh-key-pair)
**注意:**如果您使用 7.8 或更低版本的 OpenSSH,请参考与[编码](#rsa-keys-and-openssh-from-versions-65-to-78)相关的问题。
### SSH 密钥生成步骤[](#common-steps-for-generating-an-ssh-key-pair "Permalink")
无论是创建[ED25519](#ed25519-ssh-keys)还是创建[RSA](#rsa-ssh-keys)密钥,您都从`ssh-keygen`命令开始。此时,您将在命令行中看到以下消息(以 ED25519 密钥为例):
```
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
```
如果您还没有 SSH 密钥对并且也没有生成[部署密钥](#deploy-keys) ,您可以按照系统提示的建议选择 SSH 密钥存储的文件和目录,SSH 客户端将使用默认配置来生成您的 SSH 密钥。
当然,您也可以将新生成的 SSH 密钥保存在其他位置。您可以选择要分配的目录和文件名,您还可以为专用的[特定主机](#working-with-non-default-ssh-key-pair-paths) 生成SSH 密钥。
在选择 SSH 密钥的保存路径后,您可以为 SSH 密钥设置[密码](https://www.ssh.com/ssh/passphrase/)
```
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
```
如果成功,您将看到有关`ssh-keygen`命令将标识和私钥保存在何处的确认信息。
如有需要,您也可以使用以下命令更新密码:
```
ssh-keygen -p -f /path/to/ssh_key
```
### OpenSSH 6.5 ~ 7.8 的 RSA 密钥[](#rsa-keys-and-openssh-from-versions-65-to-78 "Permalink")
在 OpenSSH 7.8 之前,RSA 密钥的默认公共密钥指纹基于 MD5,因此并不安全。
如果您的 OpenSSH 版本介于 6.5 至 7.8(含)之间,请使用`-o`选项运行`ssh-keygen` ,以更安全的 OpenSSH 格式保存您的 SSH 私钥。
如果您已经具有可用于 CODEChina 的 RSA SSH 密钥,请考虑对其进行升级以使用更安全的密码加密格式。 您可以使用以下命令进行操作:
```
ssh-keygen -o -f ~/.ssh/id_rsa
```
或者,您可以使用以下命令以更安全的加密格式生成新的 RSA 密钥:
```
ssh-keygen -o -t rsa -b 4096 -C "email@example.com"
```
**注意:**ED25519 已将密钥加密为更安全的 OpenSSH 格式。
## 在您的 CODEChina 账号中添加 SSH 密钥[](#adding-an-ssh-key-to-your-account "Permalink")
现在,您可以将创建好的 SSH 密钥复制到您的 CODEChina 帐户。您可以参考以下步骤:
1. 从以文本格式保存 SSH 密钥的位置复制您的**公共** SSH 密钥,以下命令可以将 ED25519 的信息保存到指定操作系统的剪贴板中:
**macOS:**
```
pbcopy < ~/.ssh/id_ed25519.pub
```
**Linux(需要 xclip 软件包):**
```
xclip -sel clip < ~/.ssh/id_ed25519.pub
```
**Windows 上的 Git Bash:**
```
cat ~/.ssh/id_ed25519.pub | clip
```
如果您使用的是 RSA 密钥,相应地替换即可。
2. 打开`https://codechina.csdn.net`并登录
3. 选择右上角的头像,然后单击**设置**
4. 单击 **SSH 密钥**.
5. 将复制的公共密钥粘贴到**密钥**文本框中.
6.**标题**文本框中设置您密钥的名称,例如 *工作笔记本电脑**家用电脑*
7. 在"过期于"中设置密钥的过期日期(可选)
8. 单击**添加密钥**按钮
按照上述步骤添加的 SSH 密钥即使"过期"后在工作流程中仍然有效,由于配置的到期日期信息并不包含在 SSH 密钥本身中,因此您仍然可以根据需要导出公共 SSH 密钥。
**注意:**如果您手动复制了公共 SSH 密钥,请确保复制了整个密钥,以`ssh-ed25519` (或`ssh-rsa` )开头,并以您的电子邮件地址结尾。
## 测试 SSH 密钥是否能够正常工作[](#testing-that-everything-is-set-up-correctly "Permalink")
要测试是否正确添加了 SSH 密钥,可以在终端中运行以下命令:
```
ssh -T git@codechina.csdn.net
```
在您第一次通过 SSH 方式连接到 CODEChina的时候,将会询问您是否信任将要连接的 CODEChina host地址。当确认 `yes` 后,会将 CODEChina 作为已知主机添加到受信任的 hosts 地址中:
```
The authenticity of host 'codechina.csdn.net (121.36.6.22)' can't be established.
ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'codechina.csdn.net' (ECDSA) to the list of known hosts.
```
一旦添加到已知主机列表中,将不再要求您再次验证 CODEChina 主机的真实性。 再次运行以上命令时,您将只收到*欢迎使用 CODEChina 的`@username` !* 信息。
如果未出现欢迎消息,则可以通过使用以下命令在详细模式下运行`ssh`来解决问题:
```
ssh -Tv git@codechina.csdn.net
```
## 使用非默认路径的 SSH 密钥[](#working-with-non-default-ssh-key-pair-paths "Permalink")
如果您为 SSH 密钥对使用了非默认文件路径,请配置 SSH 客户端以指向 CODEChina 私有 SSH 密钥。
可以运行以下命令进行配置:
```
eval $(ssh-agent -s)
ssh-add <path to private SSH key>
```
以上设置将会保存到`~/.ssh/config`文件中。以下是两个专用于 CODEChina 的 SSH 密钥示例:
```
# CODEChina
Host codechina.csdn.net
Preferredauthentications publickey
IdentityFile ~/.ssh/codechina_rsa
# Github instance
Host github.com
Preferredauthentications publickey
IdentityFile ~/.ssh/example_github_rsa
```
公共 SSH 密钥对于 CODEChina 必须是唯一的,因为它们将绑定到您的账号中。 SSH 密钥是通过 SSH 推送代码时唯一的标识符,这是为什么它需要唯一地映射到单个用户的原因。
## 为项目设置 SSH 密钥[](#per-repository-ssh-keys "Permalink")
如果要根据正在使用的项目代码仓库使用不同的密钥,则可以在代码仓库中执行以下命令:
```
git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null"
```
这不使用 SSH 代理,并且至少需要 Git 2.10.
## 多账号设置[](#multiple-accounts-on-a-single-gitlab-instance "Permalink")
[为项目设置 SSH 密钥](#per-repository-ssh-keys)方法还适用于在 CODEChina 中使用多个账号的情况。
此外,您也可以直接在`~.ssh/config`为主机分配别名。 如果在`.ssh/config`中的`Host`块之外设置了`IdentityFile` ,则 SSH 和作为扩展的 Git 将无法登录. 这是 SSH 组装`IdentityFile`条目的方式,因此不能通过将`IdentitiesOnly`设置为`yes`来更改. `IdentityFile`条目应指向 SSH 密钥对的私钥。
**注意:**私钥和公钥应仅由用户读取,通过运行以下`chmod 0400 ~/.ssh/<example_ssh_key>`在 Linux 和 macOS 上完成此操作: `chmod 0400 ~/.ssh/<example_ssh_key>``chmod 0400 ~/.ssh/<example_sh_key.pub>`
```
# User1 Account Identity Host <user_1.codechina.csdn.net>
Hostname codechina.csdn.net
PreferredAuthentications publickey
IdentityFile ~/.ssh/<example_ssh_key1>
# User2 Account Identity Host <user_2.codechina.csdn.net>
Hostname codechina.csdn.net
PreferredAuthentications publickey
IdentityFile ~/.ssh/<example_ssh_key2>
```
**注意:**为提高效率和透明度,示例`Host`别名定义为`user_1.codechina.csdn.net``user_2.codechina.csdn.net` 。 高级配置难以维护,使用这种别名在使用其他工具(如`git remote`子命令)时会更容易理解。 SSH 可以将任何字符串理解为`Host`别名,因此`Tanuki1``Tanuki2`尽管提供了很少的上下文指向它们,也可以使用.
克隆`CODEChina`代码仓库通常如下所示:
```
git clone git@gcodechina.csdn.net:repo-org/repo.git
```
要为`user_1`克隆它,请将`codechina.csdn.net`替换为 SSH 别名`user_1.codechina.csdn.net`
```
git clone git@<user_1.codechina.csdn.net>:repo-org/repo.git
```
使用`git remote`命令可以修复以前克隆的代码仓库。
以下的示例假定远程代码仓库被别名为`origin`
```
git remote set-url origin git@<user_1.codechina.csdn.net>:repo-org/repo.git
```
### Eclipse[](#eclipse "Permalink")
如果使用的是[EGit](https://www.eclipse.org/egit/) ,则可以[将 SSH 密钥添加到 Eclipse](https://wiki.eclipse.org/EGit/User_Guide#Eclipse_SSH_Configuration) .
### Windows系统[](#options-for-microsoft-windows "Permalink")
如果您运行的是 Windows 10, [适用于 Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10)[Windows 子系统(WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10)及其最新的[WSL 2](https://docs.microsoft.com/en-us/windows/wsl/install-win10#update-to-wsl-2)版本,则支持安装不同的 Linux 发行版,其中包括 Git 和 SSH 客户端。
对于当前版本的 Windows,您还可以通过[Git for Windows](https://gitforwindows.org)安装 Git 和 SSH 客户端。
替代工具包括:
* [Cygwin](https://www.cygwin.com)
* [PuttyGen](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)
## 故障排除[](#troubleshooting "Permalink")
如果在 Git Clone 上,系统会提示您输入密码,例如`git@codechina.csdn.net's password:`,则表明您的 SSH 设置有问题。
* 确保您正确地生成了 SSH 密钥,并将公共 SSH 密钥添加到了您 CODEChina 账号的 SSH 密钥中
* 尝试使用`ssh-agent`手动注册您的私有 SSH 密钥,如本文档前面所述
* 尝试通过运行`ssh -Tv git@codechina.csdn.net`调试连接
\ No newline at end of file
# 用户文档[](#user "Permalink")
欢迎您开始使用CODEChina作为您的项目/开源项目代码托管平台!
CODEChina 是一个基于 Git 的平台,它集成了许多用于软件开发和部署以及项目管理的基本工具:
* 通过版本控制在代码仓库中托管代码
* 使用功能齐全的[Issues](/project/issues#issues-list)跟踪有关新功能开发、错误报告及反馈的建议
* 组织和管理Issue(/project/issues#issue-boards)优先次序
* 使用Review Apps查看[合并请求](/project/merge_requests)中每个分支中更改的代码并实时预览
* 使用内置的CI/CD构建,测试和部署
* 使用Pages部署个人/专业静态网站
* 通过使用容器注册表与 Docker 集成
* 通过使用价值流分析跟踪开发生命周期
* 提供[服务台](/project/service_desk)支持
## 项目[](#project "Permalink")
您可以创建[项目](project)来托管代码,跟踪问题,在代码上进行协作。或者,您可以在一个项目中完成下列所有操作:
* [代码仓库](/project/repo.md) :将[代码库](/project/repo)托管在具有版本控制的存储库中,并作为完全集成平台的一部分
* [Issues](/project/issues) :探索 Issue
* [合并请求](/project/merge_requests) :在代码,评论,每个分支的实时预览更改方面进行协作,并通过合并请求来批准请求
* [里程碑](/project/milestone) :在设置的里程碑日期前处理多个Issue及合并请求
## 账号[](#account "Permalink")
您可以自定义和配置以下内容:
* [设置](/account) :管理用户设置以更改您的个人信息,个人访问令牌,授权的应用程序等
* [权限](/permissions) :了解每种用户类型(访客,记者,开发人员,维护人员,所有者)的不同权限级别集
* [abuse](/abuse) :向我们的审核人员举报用户的滥用或违规情况
## 组织[](#organization "Permalink")
通过建立[组织](/org)您可以将相关项目组合在一起,并授予成员一次访问多个项目的权限。
您也可以在组织中嵌套[子组织](/org/sub_org)
## 探讨[](#discussions "Permalink")
您可以在 Issue、合并请求、及提交中添加注释、评论并@相关人员,点击[了解更多](/discussions)
### Markdown[](#markdown "Permalink")
您可以在[markdown](/docs/user/markdown.md)中了解如何在主题、注释、Issue 及合并请求以及所有支持markdonw的其他地方来使用markdown填写你的内容。
## 待办事项[](#todo "Permalink")
[代办事项](/todo)可以让你与组织成员更快速、高效地进行写作,它会将所有用户或组织 @你的内容,也包括你被指派的 Issue 及合并请求,让你不会遗漏任何一个协助者的回复。
## 搜索[](#search "Permalink")
[搜索和筛选](/search)组织、项目、Issue、合并请求、文件以及代码等内容。
## 快捷键[](#shortcutkey "Permalink")
CODEChina中支持许多[快捷键](/shortcutkey) ,帮助您更方便的在页面之间进行切换、更快地完成任务。
## Webhooks[](#webhooks "Permalink")
配置webhook]以侦听特定事件,例如推送,问题或合并请求。CODEChina会将相关数据通过 POST 请求发送到 webhook 中配置的 URL 中。
\ No newline at end of file
# 举报用户[](#举报用户 "Permalink")
您可以举报其他用户的违规行为。我们的审核人员在收到您的举报后会对举报内容进行核实,并对被举报用户进行相应的处理。
您可以通过以下方式报告用户:
- 举报用户
- 从个人主页举报用户
- 从评论举报用户
- 通过 Issue 或合并请求举报用户
## 从个人主页举报用户[](#reporting-abuse-through-a-users-profile "Permalink")
可以通过以下步骤从用户的个人资料页面举报滥用行为:
1. 单击用户个人头像下方的感叹号报告滥用按钮
2. 完成滥用情况报告
3. 点击**发送报告**按钮
## 从评论举报用户[](#reporting-abuse-through-a-users-comment "Permalink")
要报告用户评论中的滥用行为,请执行以下操作:
1. 单击垂直省略号(⋮)其他操作按钮以打开下拉列表
2. 选择 **举报为滥用**
3. 完成滥用情况报告
4. 点击**发送报告**按钮
**注意:**在滥用情况报告的" **消息"**字段中,将预先填写报告用户评论的 URL
## 通过 Issue 或合并请求举报用户[](#reporting-abuse-through-a-users-issue-or-merge-request "Permalink")
**报告滥用**按钮显示在 Issue 或合并请求的右上方:
* 对于有权关闭 Issue 或合并请求的用户,从单击" **关闭 Issue"**或" **关闭合并请求"**按钮时出现的菜单中选择**"报告滥用**情况"
* 对于没有权限关闭问题或合并请求的用户,在查看问题或合并请求时
显示" **举报滥用行为"**按钮后,要提交滥用行为报告:
1. 点击**举报滥用行为**按钮
2. 提交滥用情况报告
3. 点击**发送报告**按钮
**注意:**在滥用情况报告的" **消息"**字段中,将预先填写报告用户的问题或合并请求的 URL
\ No newline at end of file
# 用户账号[](#用户账号 "Permalink")
您的个人资料请前往 [CSDN 个人中心](https://i.csdn.net/#/uc/profile) 进行修改设置,修改后的资料我们将在您下次一登录 CODEChina 的时候进行同步更新。
## 个人资料[](#user-profile "Permalink")
要访问您的个人资料设置:
1. 单击您的头像
2. 单击**设置**
从那里,您可以:
* 更新您的个人信息
* 为您的个人资料设置[自定义状态](#current-status)
* 管理您的个人资料的[提交电子邮件](#commit-email)
* 管理[个人访问令牌](/docs/user/profile/token.md)以通过 API 和授权的应用程序访问您的帐户
* 选择用于[通知](/docs/user/account/email-notify.md) ,基于 Web 的提交并显示在您的公开个人资料上的电子邮件
* 管理[SSH 密钥](/docs/ssh.md)以通过 SSH 访问您的帐户
* 管理您的[首选项](/docs/user/profile/preferences.md#syntax-highlighting-theme)
* 查看您的活动会话并在必要时撤消其中的任何一个
* 访问认证日志,这是涉及您帐户的重要事件的安全日志
## 当前状态[](#current-status "Permalink")
您可以自定义自己目前的状态消息以及描述它的表情符号。 当您不在办公室或不在家时,这可能会有所帮助:其他用户可以在回答您的 Issue 或为您分配工作时考虑您的当前状态。 请注意,即使您的个人资料是私人的,您的状态也是公开可见的。
状态消息限制为 100 个纯文本字符.。但是,它们可能包含表情符号代码,例如" `I'm on vacation :palm_tree:`
设置当前状态:
1. 单击您的头像
2. 点击**设置状态** ,或点击**编辑状态(**如果您已经设置了状态)
3. 设置所需的表情符号和/或状态消息
4. 点击**设置状态** ;或者,您可以单击" **删除状态"**以完全删除您的用户状态
或者:
1. 单击您的头像.
2. 单击 **用户资料**
3. 单击**单用资料**选项卡
4.**您当前的状态**输入框中输入您的状态
5. 点击**添加状态表情符号** (笑脸),然后选择所需的表情符号
6. 点击**更新个人资料设置**
\ No newline at end of file
# 电子邮件通知[](#电子邮件通知 "Permalink")
通知使您可以随时了解 CODEChina 中发生的事情,启用通知后,您可以接收有关 Issue、合并请求和 Epic 活动的更新,通知将通过电子邮件发送。
## 接收通知[](#receiving-notifications "Permalink")
您将由于以下原因之一收到通知:
* 您参与 Issue、合并请求或 Epic,在这种情况下, *参与*意味着评论或编辑
* 您在 Issue、合并请求或 Epic 中启用了通知。要启用通知,请单击侧栏中的**通知**切换至*开*
启用通知后,您将收到有关该 Issue、合并请求或 Epic 中发生的操作的通知。
**注意:**通知可能会被管理员阻止,从而阻止发送通知。
## 调整你的通知[](#tuning-your-notifications "Permalink")
通知的数量可能是巨大的,CODEChina 允许您调整收到的通知。例如,您可能希望收到有关特定项目中所有活动的通知,而对于其他项目,仅当您的名字被提及时才得到通知。
您可以通过组合通知设置来调整收到的通知:
* [全局通知设置]](#global-notification-settings)
* [通知范围](#notification-scope)
* [通知级别](#notification-levels)
### 编辑通知设置[](#editing-notification-settings "Permalink")
编辑通知设置:
1. 点击您的个人资料图片,然后选择**设置**
2. 点击左侧边栏中的**通知**
3. 编辑所需的通知设置,编辑的设置将自动保存并启用
这些通知设置仅适用于您,它们不会影响同一项目或组中其他任何人收到的通知。
## 全局通知设置[](#global-notification-settings "Permalink")
**全局通知设置**是默认设置,除非您为项目或组选择不同的值:
* 通知电子邮件
* 这是您的通知将发送到的电子邮件地址
* 全局通知级别
* 这是适用于所有通知的默认[通知级别](#notification-levels)
* 接收有关您自己的活动的通知
* 如果您想接收有关自己活动的通知,请选中此复选框。 默认值:未选中
### 通知范围[](#notification-scope "Permalink")
您可以通过为每个项目和组选择不同的通知级别来调整通知的范围。
通知范围按优先级顺序应用(从高到低):
* 项目
* 对于每个项目,您可以选择一个通知级别,您的项目设置将覆盖组设置
* 组织
* 对于每个组,您可以选择一个通知级别,您的群组设置会覆盖您的默认设置
* 全局(默认)
* 如果尚未为发生活动的项目或组选择通知级别,则将应用全局或*默认*通知级别
#### 项目通知[](#project-notifications "Permalink")
您可以为每个项目选择一个通知级别,如果您需要密切监视选定项目中的活动,这将很有用。
要为项目选择通知级别,请使用以下两种方法之一:
1. 点击您的个人资料图片,然后选择**设置**
2. 点击左侧边栏中的**通知**
3. 在" **项目"**部分中找到该项目
4. 选择所需的[通知级别](#notification-levels)
或者:
1. 导航到项目页面
2. 单击带有下拉图标的通知下拉列表
3. 选择所需的[通知级别](#notification-levels)
#### 组织通知[](#group-notifications "Permalink")
您可以为每个组织选择通知级别和电子邮件地址。
##### 组织通知级别[](#group-notification-level "Permalink")
要为组选择通知级别,请使用以下两种方法之一:
1. 点击您的个人资料图片,然后选择**设置**
2. 点击左侧边栏中的**通知**
3. 在" **组"**部分中找到该项目
4. 选择所需的[通知级别](#notification-levels)
* * *
1. 导航到组的页面
2. 单击带有下拉图标的通知下拉列表
3. 选择所需的[通知级别](#notification-levels)
##### 组织通知邮件地址[](#group-notification-email-address "Permalink")
您可以选择一个电子邮件地址,以接收您所属的每个组的通知。例如,如果您是自由职业者,并且希望将有关客户项目的电子邮件分开存放,这可能会很有用。
1. 点击您的个人资料图片,然后选择**设置**
2. 点击左侧边栏中的**通知**
3. 在" **组织"**部分中找到该项目
4. 选择所需的电子邮件地址
### 通知级别[](#notification-levels "Permalink")
对于每个项目和组织,您可以选择以下级别之一:
| 级别 | 描述 |
| --- | --- |
| 全局 | 您的全局设置适用 |
| 关注 | 接收任何活动的通知 |
| 提及 | `@mentioned`在评论中`@mentioned`接收通知 |
| 参与 | 接收有关您参与的线程的通知 |
| 停用 | 关闭通知 |
| 自定义 | 接收有关自定义选定事件的通知|
## 通知事件[](#notification-events "Permalink")
将通知用户以下事件:
| 事件 | 发给 | 设定等级 |
| --- | --- | --- |
| 添加了新的 SSH 密钥 | User | 安全电子邮件,始终发送|
| 添加了新电子邮件 | User | 安全电子邮件,始终发送|
| 电邮已变更 | User | 安全电子邮件,始终发送 |
| 密码已更改 | User | 安全电子邮件,始终发送 |
| 用户已添加到项目 | User | 将用户添加到项目时发送 |
| 项目访问权限级别已更改 | User | 更改用户项目访问级别时发送 |
| 用户已添加到组 | User | 将用户添加到组时发送 |
| 群组访问权限级别已更改 | User | 更改用户组访问级别时发送 |
| 项目已移 | 项目成员(1) | (1)不禁用 |
| 新品发布 | 项目成员 | 自定义通知 |
## Issue / Epic / 合并请求活动[](#issue--epics--merge-request-events "Permalink")
在以下大多数情况下,通知将发送到:
* 参与:
* 发行/合并请求的作者和受让人
* 关于问题/合并请求的评论的作者
* `@username`在问题,合并请求或史诗的标题或描述中提到的任何人
* `@username`在有关问题,合并请求或史诗的任何评论中提及的"参与"或更高通知级别的任何人
* 观察者:通知级别为"观察"的用户
* 订阅者:手动订阅问题,合并请求或史诗的任何人
* 自定义:通知级别为"自定义"的用户针对下表中显示的任何事件打开了通知
| Event | 发给 |
| --- | --- |
| 新问题 |   |
| 结束期 |   |
| 重新分配问题 | 以上,加上旧的受让人 |
| 重新打开问题 |   |
| 到期问题 | 选择此事件的参与者和自定义通知级别 |
| 更改里程碑问题 | 选择了此事件的订户,提及的参与者和自定义通知级别 |
| 消除里程碑问题 | 选择了此事件的订户,提及的参与者和自定义通知级别 |
| 新合并请求 |   |
| 推送合并请求 | 选择此事件的参与者和自定义通知级别 |
| 重新分配合并请求 | 以上,加上旧的受让人 |
| 关闭合并请求 |   |
| 重新打开合并请求 |   |
| 合并合并请求 |   |
| 更改里程碑合并请求 | 选择了此事件的订户,提及的参与者和自定义通知级别 |
| 删除里程碑合并请求 | 选择了此事件的订户,提及的参与者和自定义通知级别 |
| 新评论 | 以上内容,加上评论中`@username`提及的任何人,通知级别为"提及"或更高 |
| 新史诗 |   |
| 接近史诗 |   |
| 重新开启史诗 |   |
此外,如果发布或合并请求的标题或描述发生了更改,则通知将通过`@username`发送到任何**新**提及的内容,就像在原始文本中提到的一样。
您不会收到有关您自己创建的问题,合并请求或里程碑的通知(除非由于问题而定)。仅当其他人对您创建或提及的内容进行评论或添加更改时,您才会收到自动通知。
如果开放的合并请求由于冲突而变得不可合并,则将通知其原因。
## 过滤 email[](#filtering-email "Permalink")
通知电子邮件包括特定于 CODEChina 的标题。您可以根据这些标头的内容过滤通知电子邮件,以更好地管理您的通知。 例如,您可以过滤特定项目的所有电子邮件,在该项目中您将被分配合并请求或问题。
下表列出了所有特定于 CODEChina 的电子邮件标题:
| 标题 | 描述 |
| --- | --- |
| `X-GitLab-Group-Id` | 组的 ID,仅在史诗的通知电子邮件中显示 |
| `X-GitLab-Group-Path` | 组的路径,仅在史诗的通知电子邮件中显示 |
| `X-GitLab-Project` | 通知所属的项目的名称 |
| `X-GitLab-Project-Id` | 项目的 ID |
| `X-GitLab-Project-Path` | 项目的路径 |
| `X-GitLab-(Resource)-ID` | 通知所针对的资源的 ID,该资源例如可以是`Issue``MergeRequest``Commit`或其他此类资源 |
| `X-GitLab-Discussion-ID` | 注释所属的线程的 ID,用于注释的通知电子邮件中 |
| `X-GitLab-Pipeline-Id` | 通知所针对的管道的 ID,在管道的通知电子邮件中.|
| `X-GitLab-Reply-Key` | 支持通过电子邮件回复的唯一令牌 |
| `X-GitLab-NotificationReason` | 通知原因. 可以`mentioned``assigned``own_activity` |
| `List-Id` | The path of the project in an RFC 2919 mailing list identifier. This is useful for email organization with filters, for example |
### X-GitLab-NotificationReason[](#x-gitlab-notificationreason "Permalink")
`X-GitLab-NotificationReason`标头包含`X-GitLab-NotificationReason`的原因,该值是按优先级顺序的以下值之一:
* `own_activity`
* `assigned`
* `mentioned`
通知的原因也包含在通知电子邮件的页脚中, 例如有原因的电子邮件`assigned`都会有这句话的注脚:
* `You are receiving this email because you have been assigned an item on <configured GitLab hostname>.`
**注意:**正在考虑将其他事件的通知包含在`X-GitLab-NotificationReason`标头中,有关详细信息,请参见此[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/20689)
\ No newline at end of file
# 登录日志[](#logs "Permalink")
CODEChina 列出了已登录到您帐户的所有设备,这使您可以查看会话,并撤销所有您不认识的会话。
## 列出所有活动会话[](#listing-all-active-sessions "Permalink")
1. 单击您的头像
2. 单击 **设置**
3. 点击边栏中的**活动会话**
## 活动会话限制[](#active-sessions-limit "Permalink")
CODEChina 允许用户一次拥有多达 100 个活动会话,如果活动会话数超过 100,则最早的会话将被删除。
## 撤消一个会话[](#revoking-a-session "Permalink")
1. 使用前面的步骤导航到" **活动会话"**
2. 单击除会话外的**撤消**,当前会话无法撤消,因为这将使您退出 CODEChina。
\ No newline at end of file
# 讨论[](#讨论 "Permalink")
您可以在以下位置发表评论:
* Issues
* Epics
* 合并要求
* 提交
* diff
除了标准的评论形式外,您还可以选择以话题讨论的方式创建评论, 收到回复后,评论也将是[话题讨论](#start-a-thread-by-replying-to-a-standard-comment) 的形式。
评论区域支持[Markdown](/docs/user/markdown.md)[快速操作](/docs/user/project/quick-actions.md) , 您可以随时编辑自己的评论,拥有" [maintainer"](/docs/user/permissions.md)或更高权限的用户也可以编辑其他人的评论。
您还可以通过回复评论通知电子邮件来回复评论,回复标准评论会创建另一个标准评论。回复主题评论会在主题中创建回复,电子邮件回复支持[Markdown](/docs/user/markdown.md)[快速操作](/docs/user/project/quick-actions.md)
**注意:**每个对象最多只能有 5,000 条评论,例如:issue,epic 及合并请求。
## 可解决的评论及讨论[](#resolvable-comments-and-threads "Permalink")
讨论有助于跟踪计划和代码审查的进度。
合并请求,提交,提交差异和代码片中的每个评论或讨论初始状态都显示为未解决,具有Developer及以上权限的任何人或所检查的更改的作者都可以单独解决这些问题。即使该讨论已解决,如果非成员没有解决他们自己的响应,讨论也不会标记为解决;如果非成员解决了相同的答复,则讨论会被标记为已解决。
解决所有评论或讨论可以防止您忘记处理反馈,并可以隐藏不再相关的线程。
### 在合并请求的上下文中发起讨论[](#commit-threads-in-the-context-of-a-merge-request "Permalink")
对于具有基于提交的工作流的审阅者,在合并请求的上下文中将讨论添加到特定的提交差异上可能很有用。 在以下情况下,这些讨论将通过提交ID更改来保持不变:
* Rebase后强行提交代码
* 修改提交的评论
可以按照以下步骤创建提交差异讨论:
1. 导航到合并请求的" **提交"**选项卡,将显示构成合并请求的提交列表
2. 进入选定的提交,单击" **更改"**选项卡(在该选项卡中,将仅显示与所选提交不同的内容),并提交评论
[![Commit diff discussion in merge request context](/docs/img/commit_comment_mr_context.png)](/docs/img/commit_comment_mr_context.png)
3. 以这种方式创建的任何讨论都将显示在合并请求的"**讨论"**选项卡中,并且可以解决
以这种方式创建的线程将仅出现在原始合并请求中,而不是在项目的" **代码">"提交"**页面下的**提交**中。
**提示:**在合并请求内的讨论中引用的提交的链接时,它将在当前合并请求的上下文中自动转换为链接。
### 解决话题跳转[](#jumping-between-unresolved-threads "Permalink")
当合并请求中包含大量评论时,可能很难跟踪未解决的评论。 您可以使用讨论上"回复"字段旁边的"跳转"按钮在未解决的讨论之间快速跳转。
您还可以使用快捷键在讨论之间导航:
* 使用`n`跳到下一个未解决的线程.
* 使用`p`跳到上一个未解决的线程.
### 将评论或讨论标记为已解决[](#marking-a-comment-or-thread-as-resolved "Permalink")
您可以通过单击**讨论**底部的" **解决讨论"**按钮将其标记为已解决。
[!["Resolve thread" button](/docs/img/resolve_thread_button.png)](/docs/img/resolve_thread_button.png)
或者,您可以将每个评论单独标记为已解决。
[!["Resolve comment" button](/docs/img/resolve_comment_button.png)](/docs/img/resolve_comment_button.png)
### 在合并请求中所有未解决讨论转为 Issue[](#move-all-unresolved-threads-in-a-merge-request-to-an-issue "Permalink")
要在新 Issue 中解决当前自合并请求中的所有未解决的讨论时,可以单击" **再新问题中解决所有讨论"**的按钮。
[![Open new issue for all unresolved threads](/docs/img/btn_new_issue_for_all_threads.png)](/docs/img/btn_new_issue_for_all_threads.png)
或者,当您的项目仅[在解决所有讨论](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved)后才接受合并请求[](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved) ,在合并请求部件中会有一个创建一个新 Issue 以便稍后解决的选项。
### 将单个讨论转变成 Issue[](#moving-a-single-thread-to-a-new-issue "Permalink")
要从单个讨论创建新 Issue时,可以使用" **在新问题中解决此讨论"**按钮。
您将会跳转到预填充了讨论内容的新 Issue,类似于为一次委派多个讨论而创建的 Issue。创建 Issue 将把该讨论标记为已解决,并在合并请求讨论中添加引用新 Issue 的评论。
### 只有全部讨论内容解决后才允许合并[](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved "Permalink")
在解决所有讨论之前,将不允许合并合并请求。
要使该设置生效,需要进入项目的设置页面,选中" **仅在解决所有讨论后才允许合并请求"**复选框,然后单击" **保存"**即可。
从现在开始,直到所有讨论解决后,您才能从网页上进行合并操作。
### Automatically resolve merge request diff threads when they become outdated[](#automatically-resolve-merge-request-diff-threads-when-they-become-outdated "Permalink")
在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14053) .
您可以在使用新的推送修改的行上自动解决合并请求差异线程.
导航到您的项目的设置页面,选中" **使用推送更改的行上****自动解析合并请求差异线程"**复选框,然后单击" **保存"**以使更改生效.
[![Automatically resolve merge request diff threads when they become outdated](/docs/img/a283d966822ac6a760d1a650273fbb3b.png)](/docs/img/automatically_resolve_outdated_discussions.png)
从现在开始,如果推送使 diff 部分过时,默认情况下将解决 diff 上的所有线程. 不变的线上线程和顶级可解析线程不会自动解析.
## 提交的讨论[](#commit-threads "Permalink")
您可以在项目的**代码> 提交**下向特定提交添加评论和讨论。
**注意:**如果在强制推送后更改了提交 ID,则以这种方式创建的讨论将丢失。
## 讨论的讨论[](#threaded-discussions "Permalink")
虽然可解决的讨论仅适用于合并请求的文件diff,但也可以添加与文件diff无关的讨论, 您可以针对 Issue,提交,摘要及合并请求添加一个看起来像讨论的特定讨论。
要开始讨论,请单击" **评论"**按钮切换下拉列表,选择" **开始讨论",**并在准备发布评论时单击" **开始讨论** "按钮。
这将以单个讨论的形式发起评论,使您可以更大的范围进行特定的讨论。
## 图片的讨论[](#image-threads "Permalink")
有时讨论会围绕图片展开。使用图片讨论,您可以轻松地定位图像的特定坐标并在其周围开启讨论。图片讨论在合并请求详情和提交的详情页面中可用。
要启动图片讨论,请将鼠标悬停在图片上。当您的鼠标指针转换为图标时,表示该图片可用于讨论,此时只需单击图片上的任意位置以创建新的讨论即可。
单击图片后,将显示新建评论输入框,保存评论后,您会在图像顶部看到一个新的徽章,此徽章代表您的讨论。
## 锁定讨论[](#lock-discussions "Permalink")
对于有较多贡献者参与的大型项目,在以下场景中禁用讨论将会非常地有帮助:
* 项目维护者已经解决了该问题,无需更多的后续反馈
* 项目维护者已经将新讨论指向了新的 Issue 或合并请求
* 参与讨论者的讨论内容比较随意、辱骂或是无益的产品建议
在这些情况下,项目中具有开发者权限或更高权限的用户可以使用边栏中的"锁定"按钮来锁定/解锁 问题或合并请求. 对于问题,具有记者权限的用户可以锁定/解锁。
在锁定的问题或合并请求中,只有团队成员才能添加新评论和编辑现有评论,非团队成员无法添加或编辑评论。
## 合并请求评审[](#merge-request-reviews "Permalink")
查看"合并请求"差异时,您可以开始审阅,您可以在"合并请求"中创建**仅**在发布之前才对**您可见的**评论,以便您可以将所有评论作为单个操作提交。
### 开始评审[](#starting-a-review "Permalink")
为了开始审阅,只需像往常一样在合并请求的" **更改"**选项卡下对差异添加评论,然后单击" **开始审阅"**按钮。
当开始审阅后,审阅内容部分中所有的评论都会被标记为`Pending`,同时所有审阅中的评论都会显示两个按钮:
* **完成审阅** :提交**审阅中的**所有评论,使其他用户可以看到它们
* **立即添加评论** :提交常规评论,而不是审阅的一部分
您可以在评论中使用[快速操作](/docs/user/project/quick-actions.md) ,评论也将会显示提交评论后即将执行的操作。
要向评论添加更多评论,请照常开始写评论,然后单击**添加到评论**按钮,这会将评论添加到评论中。
此差异已折叠。
# 组织[](#组织 "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
\ No newline at end of file
# 子组织[](#子组织 "Permalink")
我们可支持20+ 层级的子组织(也称为嵌套结构或层次结构)。
通过子组织您可以:
* **独立的子组织** 由于每个组都有自己的可见性级别,因此您可以在同一保护范围内创建不同子组织以满足您不同的使用目的;
* **组织大型项目** 对于大型项目,子组织可能会更容易分隔源代码的权限
* **使管理人员和控制可见性变得更加容易** 根据人们的组织[成员身份](#成员身份)赋予他们不同的[权限](/docs/user/permissions.md#group-members-permissions)
有关组织和项目中允许的权限的更多信息,请参考[可见性级别](/docs/user/permissions.md#general-permissions)
## 概览[](#概览 "Permalink")
一个组织中可以有许多子组织,且每个组织只能有一个直接父组, 它类似于目录或嵌套项目列表:
* 第一组
* 1.1 组
* 1.2 组
* 1.2.1 组
* 1.2.2 组
* 1.2.2.1组
假设维护一个 GNU / Linux 发行版,其中第一个子组织是发行版的名称,随后的子组织则按如下所示拆分:
* Organization Group - GNU/Linux distro
* 类别子组-包
* (项目)配套 01
* (项目)配套 02
* 类别子组-软件
* (项目)核心
* (项目)CLI
* (项目)Android 应用
* (项目)iOS 应用
* 类别子组-红外线工具
* (项目)Ansible 剧本
当执行诸如在子组织之间转移或导入项目的操作时,其行为与在`group/project`级别执行这些操作时的行为相同。
## 新建一个子组织[](#新建一个子组织 "Permalink")
要在组织中创建子组织,您必须是该组织的所有者或维护者,具体取决于该组织的设置(默认情况下,允许所有者和维护者创建子组)。
有关权限的更多信息,请检查[权限表](/docs/user/permissions.md) 。有关不允许用作组名的单词列表,请参见[保留名称](/docs/user/reserved.md)
如果用户明确地作为所有者(或维护者,如果启用了此设置)被添加到父组织中,则用户始终可以创建子组,即使管理员在其组织设置中禁用了组创建也是如此。
您可以通过以下操作创建一个子组织:
1. 在组织详情页中,展开右上角**新建项目**旁的下拉按钮,选择**新建子组织** ,然后单击 **新建子组**按钮;
2. 像平常一样直接创建一个新组织。 需要注意的是,父组织名称空间在 **组路径**下是不可修改的,但 可见性级别可以与父组织不同;
3. 单击**创建组织**按钮
## 成员身份[](#成员身份 "Permalink")
将成员添加到子组织时,它们将从父组织继承成员资格和权限级别。如果您是其父组织成员之一,则您可以被允许访问该组织下所有的子组织。
成员的组权限只能由所有者更改,您可以通过查看组织的**组织设置-组织成员设置**页面来确定成员是否从父组织继承了权限。
[![Group members page](/docs/img/group_members.png)](/docs/img/group_members.png)
从上图我们可以了解到:
* 有 5 位成员可以访问第`four`组.
* User0 是一个 Reporter,已从组`four`的层次结构上方的组`one`继承了该权限
* User1 是一个开发者,已从组`one/two`的层次结构上方的组`two`继承了该权限
* User2 是一个开发者,已从组`one/two/three`的层次结构上方的组`three`继承了该权限
* 对于 User3,没有任何父组织的指示,因此它属于`four`
* 管理员是**所有**子组织的所有者和成员,与 User3 一样也没有任何父组织的指示
您可以使用右侧的下拉列表过滤此列表:
* **仅显示直接成员**仅显示 Administrator 和 User3,因为这是属于`four`组的唯一用户
* **仅显示继承的成员**将显示 User0,User1 和 User2,无论层次结构上方的哪个组都可以作为继承权限的来源
## 提及子组织[](#提及子组织 "Permalink")
在Issue,提交和合并请求中提及组织( `@group` )将通知该组的所有成员。当有了子组织后,如果您想拆分组织的结构,将有更精细的支持。提及方式与以前一样,您可以选择要通知的人群。
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册