diff --git a/docs/img/branch_filter_search_box.png b/docs/img/branch_filter_search_box.png new file mode 100644 index 0000000000000000000000000000000000000000..e3ae2a8ea39b347623d4510e7f71ea2cfde4673d Binary files /dev/null and b/docs/img/branch_filter_search_box.png differ diff --git a/docs/img/compare_branches.png b/docs/img/compare_branches.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c9c8fd09b69d8f56667844086c0122bfd94b55 Binary files /dev/null and b/docs/img/compare_branches.png differ diff --git a/docs/user/project/repo/branches.md b/docs/user/project/repo/branches.md index 41b55b3966f962368b3222edcd7c1a418795aceb..911a3ef9a361338a4dec16f93680259d0308f5e6 100644 --- a/docs/user/project/repo/branches.md +++ b/docs/user/project/repo/branches.md @@ -1,110 +1,59 @@ -# 分支[](#分支 "Permalink") +# 分支[](#branches "Permalink") -分支是项目工作树的版本. 您为所做的每组相关更改创建一个分支. 这样可以使每组更改彼此独立,从而可以并行进行更改,而不会互相影响. +分支是项目工作树的版本,您做的每组相关更改都将创建一个分支。这样可以使每组更改彼此独立,从而可以并行进行更改,而不会互相影响。 将更改推送到新分支后,您可以: -* 创建[合并请求](../../merge_requests/index.html) +* 创建[合并请求](/docs/user/project/merge-request.md) * 执行内联代码审查 -* 与团队[讨论](../../../discussions/index.html)实施情况 -* 使用[Review Apps](../../../../ci/review_apps/index.html)预览提交到新分支的更改. +* 与团队[讨论](/docs/user/discussions.md)实施情况 -使用[GitLab Starter](https://about.gitlab.com/pricing/) ,您还可以请求经理的[批准](../../merge_requests/merge_request_approvals.html) . +有关使用 CODEChina 管理分支的更多信息,请参见: -有关使用 GitLab UI 管理分支的更多信息,请参见: + - [默认分支](#default-branch) + - [对比](#compare) + - [删除已合并的分支](#delete-merged-branches) + - [分支过滤搜索框](#branch-filter-search-box) -- [分支](#分支) - - [Default branch](#default-branch) - - [Custom initial branch name](#custom-initial-branch-name) - - [Enable or disable custom initial branch name](#enable-or-disable-custom-initial-branch-name) - - [Compare](#compare) - - [Delete merged branches](#delete-merged-branches) - - [Branch filter search box](#branch-filter-search-box) +您也可以使用命令行管理分支。 -您也可以使用[命令行](../../../../gitlab-basics/start-using-git.html#create-a-branch)管理分支. +## 默认分支[](#default-branch "Permalink") -观看视频[GitLab Flow](https://www.youtube.com/watch?v=InKNIvky2KE) . +创建新项目时 ,系统会将`master`设置为代码仓库的默认分支。您可以在项目的**项目设置>仓库>默认分支**下选择另一个分支作为项目的默认分支。 -也可以看看: +通过[ Issue 关闭模式](/docs/user/project/issues/manage.md#closing-issues-automatically)直接从合并请求中[关闭 Issue](/docs/user/project/issues/manage.md#closing-issues-automatically)时,目标是项目的**默认分支** 。 -* [Branches API](../../../../api/branches.html) ,有关使用 GitLab API 在存储库分支上进行操作的信息. -* [GitLab Flow](../../../../university/training/gitlab_flow.html) documentation. -* [Git](../../../../topics/git/index.html)和 GitLab [入门](../../../../topics/git/index.html) . +项目初始化时还对默认分支进行了[保护](/docs/user/project/protected-branch.md#protected-branches),以防止意外删除和强制推送。 -## Default branch[](#default-branch "Permalink") +## 对比[](#compare "Permalink") -创建新[项目时](../../index.html) ,GitLab 会将`master`设置为存储库的默认分支. 您可以在项目的**设置>存储库**下选择另一个分支作为项目的默认分支. +可以通过以下步骤对分支进行对比: -通过[问题关闭模式](../../issues/managing_issues.html#closing-issues-automatically)直接从合并请求中[关闭问题时](../../issues/managing_issues.html#closing-issues-automatically) ,目标是项目的**默认分支** . +1. 进入项目页面 +2. 在项目导航中选择**代码>Diff** +3. 使用[分支过滤搜索框](#branch-filter-search-box)选择要比较的[分支](#branch-filter-search-box) +4. 单击**比较**以内联查看更改 -初始还对默认分支进行了[保护,以](../../protected_branches.html#protected-branches)防止意外删除和强制推送. +[![compare branches](/docs/img/compare_branches.png)](/docs/img/compare_branches.png) -### Custom initial branch name[](#custom-initial-branch-name-core-only "Permalink") +## 删除已合并的分支[](#delete-merged-branches "Permalink") -版本历史 +[![Delete merged branches](/docs/img/delete_merged_branches.png)](/docs/img/delete_merged_branches.png) -* 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/221013) . -* 它部署在默认情况下启用的功能标志后面. -* 在 GitLab.com 上启用了它. -* 不能根据项目启用或禁用它. -* 建议用于生产. -* 对于 GitLab 自我管理的实例,GitLab 管理员可以选择[禁用它](#enable-or-disable-custom-initial-branch-name-core-only) . +此功能允许合并的分支被批量删除,作为此操作的一部分,只有已合并[但未受保护的](/docs/user/project/protected-branch.md)分支才会被删除。 -默认情况下,当您在 GitLab 中创建新项目时,初始分支称为`master` . 对于自我管理的实例,GitLab 管理员可以将初始分支名称自定义为其他名称. 这样,此后创建的每个新项目都将从自定义分支名称开始,而不是`master` . 为此: +这在清理那些合并请求时未自动删除的旧分支时非常好用。 -1. 转到 **在管理区域>设置>存储库中** ,展开**默认初始分支名称** . -2. 将默认的初始分支更改为您选择的自定义名称. -3. **保存更改**. +## 分支过滤搜索框[](#branch-filter-search-box "Permalink") -#### Enable or disable custom initial branch name[](#enable-or-disable-custom-initial-branch-name-core-only "Permalink") +[![Branch filter search box](/docs/img/branch_filter_search_box.png)](/docs/img/branch_filter_search_box.png) -正在设置默认的初始分支名称,但已准备好用于生产. 它部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../../administration/feature_flags.html)可以选择为您的实例禁用它. +此功能使您可以快速搜索和选择分支, 搜索结果按以下顺序显示: -禁用它: +* 名称与搜索字词完全匹配的分支 +* 名称包含搜索词的其他分支,按字母顺序排序 -``` -Feature.disable(:global_default_branch_name) -``` +当您有数百个分支时,可能需要更灵活的匹配模式。在这种情况下,您可以使用以下方法: -要启用它: - -``` -Feature.enable(:global_default_branch_name) -``` - -## Compare[](#compare "Permalink") - -要比较存储库中的分支: - -1. 导航到项目的存储库. -2. 在边栏中选择**存储库>比较** . -3. 使用[分支过滤器搜索框](#branch-filter-search-box)选择要比较的[分支](#branch-filter-search-box) -4. 单击" **比较** "以内联查看更改: - -[![compare branches](img/b4e4d114d9b2244a7848961617e05a95.png)](img/compare_branches.png) - -## Delete merged branches[](#delete-merged-branches "Permalink") - -在 GitLab 8.14 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/6449) . - -[![Delete merged branches](img/6de450be845a1f48a3feae9ce8e7be6e.png)](img/delete_merged_branches.png) - -此功能允许合并的分支被批量删除. 作为此操作的一部分,只有已合并[但未受保护的](../../protected_branches.html)分支才会被删除. - -清理合并请求时未自动删除的旧分支尤其有用. - -## Branch filter search box[](#branch-filter-search-box "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22166) . - -[![Branch filter search box](img/f380fbb3646558d8becf561df5894c38.png)](img/branch_filter_search_box.png) - -此功能使您可以快速搜索和选择分支. 搜索结果按以下顺序显示: - -* 名称与搜索字词完全匹配的分支. -* 名称包含搜索词的其他分支,按字母顺序排序. - -有时,当您有数百个分支时,可能需要更灵活的匹配模式. 在这种情况下,您可以使用以下方法: - -* `^feature`将仅匹配以'feature'开头的分支名称. -* `feature$` will only match branch names that end with ‘feature’. \ No newline at end of file +* `^feature`将仅匹配以'feature'开头的分支名称 +* `feature$`将仅匹配以‘feature’结尾的分支名称 \ No newline at end of file