diff --git a/_book/gitbook/gitbook-plugin-theme-fexa/logo.png b/_book/gitbook/gitbook-plugin-theme-fexa/logo.png index 232da0313e258614b0101832ddc9d2d85c4c4b35..8ef04aca0f633c9a1c7075681ef1db4b8e03c7f9 100644 Binary files a/_book/gitbook/gitbook-plugin-theme-fexa/logo.png and b/_book/gitbook/gitbook-plugin-theme-fexa/logo.png differ diff --git a/docs/img/cherry_pick_changes_commit.png b/docs/img/cherry_pick_changes_commit.png new file mode 100644 index 0000000000000000000000000000000000000000..187b91fcfbbd754cc8a9f464171e1ed95ef6dec4 Binary files /dev/null and b/docs/img/cherry_pick_changes_commit.png differ diff --git a/docs/img/cherry_pick_changes_mr.png b/docs/img/cherry_pick_changes_mr.png new file mode 100644 index 0000000000000000000000000000000000000000..d386687076127f5a1e3b9a5727b5257f78aab897 Binary files /dev/null and b/docs/img/cherry_pick_changes_mr.png differ diff --git a/docs/img/draft_blocked_merge_button_v13_2.png b/docs/img/draft_blocked_merge_button_v13_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5d8706e802e083c9b21be787ff88aa068d08e9e1 Binary files /dev/null and b/docs/img/draft_blocked_merge_button_v13_2.png differ diff --git a/docs/user/project/member/share.md b/docs/user/project/member/share.md index 41332df6b25a681b305cb6263d27e75f7366c675..70917be1b675d380ae29e377c0386dee4c7cae65 100644 --- a/docs/user/project/member/share.md +++ b/docs/user/project/member/share.md @@ -1,48 +1,38 @@ -# 与群组共享项目[](#与群组共享项目 "Permalink") +# 与组织共享项目[](#share-projects-with-other-groups "Permalink") -您可以与其他[小组](../../group/index.html)共享项目. 这样就可以通过一个操作将一组用户添加到项目中. +您可以与其他[组织](../../group/index.html)共享项目,这样就可以通过一个操作将一个组织的全部用户添加到项目中。 -## Groups as collections of users[](#groups-as-collections-of-users "Permalink") +## 用户项目集合[](#groups-as-collections-of-users "Permalink") -组主要用于[创建项目集合](../../group/index.html) ,但是您还可以利用以下事实:组定义了*用户*集合,即组成员. +组织主要用于[创建项目集合](../../group/index.html) ,但是您还可以利用组织的以下特定:组定义了*用户*集合,即组成员。 -## Sharing a project with a group of users[](#sharing-a-project-with-a-group-of-users "Permalink") +## 与组成员共享项目[](#sharing-a-project-with-a-group-of-users "Permalink") -在 GitLab 中授予一组用户(例如"工程")访问项目(例如" Acme 项目")的主要机制是使"工程"组成为" Project Acme"的所有者. 但是,如果" Acme 项目"已经属于另一个小组,比如"开源",该怎么办? 这是可以使用组共享功能的地方. +授予某个组织的用户(例如"工程")访问项目(例如" Acme 项目")的主要机制是使"工程"组成为" Project Acme"的所有者,但是,如果" Acme 项目"已经属于另一个组织,比如"开源",这种情况下该怎么办?这里我们就可以使用与组成员共享项目这个功能了。 与"工程"组共享" Acme 项目": -1. 对于" Acme 项目",请使用左侧导航菜单转到" **会员"** - - [![share project with groups](img/0d1c10a8d14f11dd831b96878fc521e5.png)](img/share_project_with_groups.png) - -2. 选择"与组共享"标签 +1. 对于" Acme 项目",请点击**项目设置**,进入到**项目成员设置** +2. 点击"邀请组"按钮 3. 添加具有您选择的最大访问权限级别的"工程"组 -4. 点击**共享**分享 - - [![share project with groups tab](img/0e2287fb4b32bf9dff45f3255ddd45fe.png)](img/share_project_with_groups_tab.png) - -5. 与"工程"共享"项目 Acme"后,该项目将列在组仪表板上 - - [!['Project Acme' is listed as a shared project for 'Engineering'](img/000b14e609fee563642c55e238caca88.png)](img/other_group_sees_shared_project.png) - -请注意,您只能与以下项目共享一个项目: +4. 点击**邀请**按钮 +5. 与"工程"共享"项目 Acme"后,该项目将出现在"工程"的组织中 -* 您具有明确定义的成员资格的组 -* 包含嵌套子组或项目的组,您对其具有明确定义的角色 +请注意,您只能共享项目给符合以下条件的组织: -管理员可以与系统中的任何组共享项目. +* 您具有明确定义的成员资格的组织 +* 包含嵌套子组或项目的组织,您在其组织中具有明确定义的角色 -## Maximum access level[](#maximum-access-level "Permalink") +## 最大访问权限[](#maximum-access-level "Permalink") -在上面的示例中,"工程"成员的最大"开发人员"访问级别意味着"工程"中具有较高访问级别的用户("维护者"或"所有者")将仅对" Acme 项目"具有"开发者"访问权限'. +在上面的示例中,"工程"成员的最大" Developer "访问级别意味着"工程"中具有较高访问级别的用户(" Maintainer "或" Owner ")将仅对" Acme 项目"具有"开发者"访问权限'。 -## Sharing public project with private group[](#sharing-public-project-with-private-group "Permalink") +## 与私有组织共享项目[](#sharing-public-project-with-private-group "Permalink") -与私有组共享公共项目时,项目的所有者和维护者将在`members`页面上看到该组的名称. 所有者还可以在问题或合并请求中提及他们时,可以看到他们无权访问的私人群组的成员. +与私有组共享公共项目时,项目的 Owner 和 Maintainer 将在`members`页面上看到该组的名称。 所有者还可以在 Issue 或合并请求中使用@功能时,还可以看到他们无权访问的私人群组的成员。 -## Share project with group lock[](#share-project-with-group-lock "Permalink") +## 禁用与组织共享项目[](#share-project-with-group-lock "Permalink") -可以防止一个组中[的项目与另一个组共享一个项目](../members/share_project_with_groups.html) . 这样可以更严格地控​​制项目访问. +可以禁用与组织共享项目以防止一个组织中[的项目与另一个组共享一个项目](../members/share_project_with_groups.html) ,这样可以更严格地控​​制项目访问。 -了解更多有关[使用组锁共享的信息](../../group/index.html#share-with-group-lock) . \ No newline at end of file +了解更多有关[使用组锁共享的信息](../../group/index.html#share-with-group-lock) \ No newline at end of file diff --git a/docs/user/project/merge-request/cherry-pick.md b/docs/user/project/merge-request/cherry-pick.md index d96dcfc9d21b083d91d0c72f3658fb3ddd794429..05d77ea30250230020fd72288e8950224412c16b 100644 --- a/docs/user/project/merge-request/cherry-pick.md +++ b/docs/user/project/merge-request/cherry-pick.md @@ -1,42 +1,36 @@ # Cherry-pick[](#cherry-pick "Permalink") -GitLab 实现了 Git 的强大功能,通过在合并请求和提交详细信息中引入**Cherry-pick**按钮来[挑选任何提交](https://git-scm.com/docs/git-cherry-pick "Git Cherry-Pick 文档") . +Cherry-pick 是 Git 中非常强大的一个功能,通过在合并请求和提交详细信息中引入**Cherry-pick**来[挑选任何想要的提交](https://git-scm.com/docs/git-cherry-pick "Git Cherry-Pick 文档") 。 -## Cherry-picking a merge request[](#cherry-picking-a-merge-request "Permalink") +## Cherry-pick 一个合并请求[](#cherry-picking-a-merge-request "Permalink") -合并请求合并后,将可以使用**Cherry-pick**按钮来选择该合并请求引入的更改. +合并请求合并后,将可以使用**Cherry-pick**按钮来选择该合并中需要引入的更改。 -[![Cherry-pick Merge Request](img/fe7d77556848be98a93c7b6516b0e6f8.png)](img/cherry_pick_changes_mr.png) +[![Cherry-pick Merge Request](/../../docs/img/cherry_pick_changes_mr.png)](img/cherry_pick_changes_mr.png) -单击该按钮后,将出现一个模态,显示一个[分支过滤器搜索框](../repository/branches/index.html#branch-filter-search-box) ,您可以在其中选择: +单击该按钮后,会出现一个弹窗,将显示一个分支过滤器搜索框,您可以在其中选择: -* 将更改直接选择到所选分支中. -* 使用经过精心挑选的更改创建一个新的合并请求. +* 将更改直接选择到所选分支中 +* 使用经过 Cherry-pick 的更改创建一个新的合并请求 -### Cherry-pick tracking[](#cherry-pick-tracking "Permalink") +### Cherry-pick 跟踪[](#cherry-pick-tracking "Permalink") -在 GitLab 12.9 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2675) . +当您选择一个合并提交时,系统会向相关的合并请求讨论中添加系统注释,使新提交与现有合并请求相关联。 -当您选择一个合并提交时,GitLab 将向相关的合并请求线程输出系统注释,使新提交与现有合并请求交联. +每个部署的[关联合并请求列表](../../../api/deployments.html#list-of-merge-requests-associated-with-a-deployment)都将包括 Cherry-pick 的合并提交。 -[![Cherry-pick tracking in Merge Request timeline](img/e20aec7ab33bbd61bae4825e6c9e35f1.png)](img/cherry_pick_mr_timeline_v12_9.png) - -每个部署的[关联合并请求列表](../../../api/deployments.html#list-of-merge-requests-associated-with-a-deployment)将包括精心挑选的合并提交. - -**注意:**我们仅跟踪从 GitLab(UI 和 API)执行的 cherry-pick. 计划在将来的发行版中支持[通过命令行跟踪精心挑选的提交](https://gitlab.com/gitlab-org/gitlab/-/issues/202215) . - -## Cherry-picking a commit[](#cherry-picking-a-commit "Permalink") +## Cherry-pick 一个提交[](#cherry-picking-a-commit "Permalink") 您可以从提交详细信息页面中挑选一个提交: -[![Cherry-pick commit](img/b4e821b8b83e29e837f01f4620e557b7.png)](img/cherry_pick_changes_commit.png) +[![Cherry-pick commit](/../../docs/img/cherry_pick_changes_commit.png)](img/cherry_pick_changes_commit.png) -与选择合并请求类似,您可以选择将更改直接选择到目标分支中,也可以选择创建新的合并请求以选择更改. +与选择合并请求类似,您可以选择将更改直接选择到目标分支中,也可以选择创建新的合并请求以选择更改。 -请注意,在进行樱桃挑选合并提交时,主线将始终是第一父级. 如果要使用其他主线,则需要从命令行执行. +请注意,在进行 Cherry-pick 合并提交时,主线将始终是第一父级, 如果要使用其他主线,则需要从命令行执行。 -这是一个使用第二个父级作为主线来挑选合并提交的快速示例: +这是一个使用第二个父级作为主线来 Cherry-pick 合并提交的示例: -``` +```markdown git cherry-pick -m 2 7a39eb0 ``` \ No newline at end of file diff --git a/docs/user/project/merge-request/create-merge-request.md b/docs/user/project/merge-request/create-merge-request.md index 31a857b93fc16c04249a27351639fa2e6c48eeb2..84c47a81d4a308156199d73895b91c892436fd7a 100644 --- a/docs/user/project/merge-request/create-merge-request.md +++ b/docs/user/project/merge-request/create-merge-request.md @@ -1,16 +1,16 @@ # 创建合并请求[](#创建合并请求 "Permalink") -在创建合并请求之前,请通读"合并请求"的[简介,](getting_started.html)以熟悉概念,术语并了解如何使用它们. +在创建合并请求之前,请通读"合并请求"的[简介,](getting_started.html)以熟悉概念、术语,并了解如何使用它们。 -每个合并请求都从创建一个分支开始. 您可以通过[命令行](#new-merge-request-from-your-local-environment) ,Git CLI 应用程序或[GitLab UI](#new-merge-request-from-a-new-branch-created-through-the-ui)在本地进行操作. +每个合并请求都从创建一个分支开始,您可以通过[命令行](#new-merge-request-from-your-local-environment) ,Git CLI 应用程序或[CODEChina WEB](#new-merge-request-from-a-new-branch-created-through-the-ui)完成分支的创建。 -本文档介绍了创建合并请求的几种方法. +本文档介绍了创建合并请求的几种方法。 -启动新的合并请求时,无论使用哪种方法,都将转到" [**新合并请求"**页面,](#new-merge-request-page)以在其中添加有关合并请求的信息. +启动新的合并请求时,无论使用哪种方法,都将转到[**新合并请求**](#new-merge-request-page)页面,并在其中添加合并请求相关的信息。 -如果将新分支推送到 GitLab,也不管使用哪种方法,都可以单击[**Create Merge Request**](#create-merge-request-button)按钮并从此处启动合并请求. +如果将新分支推送到 CODEChina,不论使用哪种方法,都可以单击[**创建合并请求**](#create-merge-request-button)按钮并从此处启动合并请求。 -## New Merge Request page[](#new-merge-request-page "Permalink") +## 新建合并请求[](#new-merge-request-page "Permalink") 在" **新合并请求"**页面上,首先填写**合并请求**的标题和描述. 如果分支上已经有提交,则标题将用第一条提交消息的第一行预填充,描述将用提交消息中的任何其他行预填充. 在所有情况下,标题都是唯一的必填字段. diff --git a/docs/user/project/merge-request/draft.md b/docs/user/project/merge-request/draft.md index 784ef93df1c39e2f6c3f5c32025ac5c82de83a97..0e6ae5200793c763ea4deab7863bb0ad3ce3be27 100644 --- a/docs/user/project/merge-request/draft.md +++ b/docs/user/project/merge-request/draft.md @@ -1,30 +1,26 @@ -# 草稿[](#草稿 "Permalink") +# Draft[](#draft "Permalink") -如果合并请求尚未准备好进行合并(可能是由于持续的开发或开放的线程),则可以通过将其标记为**Draft**来阻止在合并之前接受该合并请求. 这将禁用"合并"按钮,从而防止其被合并,并且在删除"草稿"标志之前它将保持禁用状态. +如果合并请求尚未准备好进行合并(可能是由于持续的开发或需要开放讨论),则可以将其标记为**Draft**来阻止在合并之前接受该合并请求,**Draft**合并请求的"合并"按钮将会被禁用,从而防止其被合并,并且在删除"**Draft: / WIP:**"标志之前它将一直保持禁用都状态。 -[![Blocked Merge Button](img/284b72b1bfc8d5679fdaa384932b3b8c.png)](img/draft_blocked_merge_button_v13_2.png) +[![Blocked Merge Button](/../../docs/img/draft_blocked_merge_button_v13_2.png)](img/draft_blocked_merge_button_v13_2.png) -## Adding the “Draft” flag to a merge request[](#adding-the-draft-flag-to-a-merge-request "Permalink") +## 给合并请求添加 Draft/WIP 标记[](#adding-the-draft-flag-to-a-merge-request "Permalink") -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/32692)的在进行中(WIP)合并请求已重命名为**Draft** . 在 GitLab 14.0 中将删除对使用**WIP 的**支持. +对在进行中(WIP)合并请求可以添加** Draft: **或** WIP: ** 的标记。具体的添加方式如下: -There are several ways to flag a merge request as a Draft: +* 将`[Draft]` , `Draft:`或`(Draft)`到合并请求标题的开头,单击标题框下的" **以草稿开始标题:** ",在编辑合并请求的描述时将具有相同的效果 +* **不推荐使用**将`[WIP]`或`WIP:`添加到合并请求标题的开头,**WIP**仍然有效,但我们推荐使用**Draft** +* 在合并请求的讨论中添加`/wip` [快速操作](../quick_actions.html#quick-actions-for-issues-merge-requests-and-epics)注释 ,可以重复进行并切换合并请求的状态。请注意,注释中的任何其他文本都将被丢弃 +* 将`draft:`或`Draft:`添加到针对合并请求的源分支的提交消息的开头,这不会切换合并请求的状态,并且在另一次提交中再次执行将无效 -* 将`[Draft]` , `Draft:`或`(Draft)`到合并请求标题的开头. 单击标题框下的" **以草稿开始标题:** ",在编辑合并请求的描述时将具有相同的效果. -* **不推荐使用**将`[WIP]`或`WIP:`添加到合并请求标题的开头. **WIP**仍然有效,但不赞成使用**Draft** . 它将在下一个主要版本(GitLab 14.0)中删除. -* 在合并请求的注释中添加`/wip` [快速操作](../quick_actions.html#quick-actions-for-issues-merge-requests-and-epics) . 这是一个切换,可以重复进行以将状态改回. 请注意,注释中的任何其他文本将被丢弃. -* 将`draft:`或`Draft:`添加到针对合并请求的源分支的提交消息的开头. 这不是切换,并且在另一次提交中再次执行将无效. +## 移除合并请求中的 Draft/WIP 标记[](#removing-the-draft-flag-from-a-merge-request "Permalink") -## Removing the “Draft” flag from a merge request[](#removing-the-draft-flag-from-a-merge-request "Permalink") +与上述类似,当准备合并请求时,可以通过以下几种方式移除" `Draft`标记: -与上述类似,当准备合并请求时,可以通过以下几种方式删除" `Draft`标志: +* 从合并请求标题的开头删除`[Draft]` , `Draft:`或`(Draft)` ,在编辑合并请求的描述时,在标题框下单击**从标题中删除草稿:前缀** ,将具有相同的效果 +* 在合并请求的讨论中添加`/wip` [快速操作](../quick_actions.html#quick-actions-for-issues-merge-requests-and-epics) 注释,可以重复进行并切换合并请求的状态。请注意,注释中的任何其他文本都将被丢弃 +* 点击靠近合并请求描述底部的*移除 WIP 状态**按钮,该按钮对至少具有 Developer 权限的用户才可见 -* 从合并请求标题的开头删除`[Draft]` , `Draft:`或`(Draft)` . 在编辑合并请求的描述时,在标题框下单击" **从标题中删除草稿:"前缀** ,将具有相同的效果. -* 在合并请求的注释中添加`/wip` [快速操作](../quick_actions.html#quick-actions-for-issues-merge-requests-and-epics) . 这是一个切换,可以重复进行以将状态改回. 请注意,注释中的任何其他文本将被丢弃. -* 点击靠近合并请求描述底部的**解决草案状态**按钮,旁边的**合并**按钮(见[上面的图片](#draft-merge-requests) ). 必须对该项目至少具有开发人员级别的权限,该按钮才可见. +## 通过 WIP 过滤合并请求[](#includingexcluding-wip-merge-requests-when-searching "Permalink") -## Including/excluding WIP merge requests when searching[](#includingexcluding-wip-merge-requests-when-searching "Permalink") - -查看/搜索合并请求列表时,可以通过在搜索框中添加" WIP"过滤器,然后选择"是"(包括)或"否"(排除)来选择包括或排除 WIP 合并请求. - -[![Filter WIP MRs](img/fa591f90dc1e8840fe7fd692f24dcffe.png)](img/filter_wip_merge_requests.png) \ No newline at end of file +查看/搜索合并请求列表时,可以通过在搜索框中添加" WIP"过滤器,然后选择"是"(包括)或"否"(排除)来选择包括或排除 WIP 合并请求。 \ No newline at end of file