|
|
# 分支[](#分支 "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 |