我刚刚开始使用 GitLab,并创建了一系列问题,以便概述我的应用程序需要做什么。我想知道是否可以从这些问题创建一个分支,以便将分支和问题链接起来,类似于 atlassian 中的 jira 和 Stash?
如果您创建一个名为
<issue-number>-issue-description
的分支并将该分支推送到 gitlab,它将自动链接到该问题。例如,如果您有 id 654
的问题,并且您创建了一个名为 654-some-feature
的分支并将其推送到 gitlab,它将链接到问题 654
。
Gitlab 甚至会询问您是否要创建合并请求,并自动将
Closes #654
添加到合并请求描述中,当合并请求被接受时,该描述将关闭 issue 654
。
此外,如果您转到 gitlab 上的给定问题页面,您应该会看到一个
New Branch
按钮,它将自动创建一个名称为 <issue-number>-issue-description
形式的分支。
在“问题”屏幕上,您会看到一个标有“创建合并请求”的绿色按钮,右侧有一个向下箭头。
这不是一个按钮,而是一个按钮下拉列表。
TLDR:做一个合并请求,在标题和/或评论框和/或提交消息中添加
#2
,它将把问题链接到分支并提交,你可以从一开始就做一个 MR链接它。
似乎 Gitlab 的唯一选择是按照以下格式命名您的分支:
<issue-number-some-branch>
就像 2-bad-ai
这会自动将分支链接到问题。
但是,我组织我的分支,以便它们很好地生活在 .git/ref/heads 文件夹结构中,如下所示
feature/2-<some-branch>
然后当您 执行合并请求时,在标题和/或评论框中添加 #2
和/或者提交消息,它将把问题链接到分支并提交,你可以从一开始就做一个 MR 来链接它。
$ ls .git/refs/heads/; ls .git/refs/remotes/upstream/
2-bad-ai dev feature/ hotfix/ master release/
2-bad-ai dev feature/ hotfix/ master release/
我更愿意在上面的输出中包含
feature/2-bad-ai
...
据我在 Github 上所知,您可以将拉取请求链接到
feature/2-<some-branch>
,但没有像 GitLab那样的
2-<some-branch>
自动链接
2017:
如果您创建一个名为
的分支并将该分支推送到 GitLab,它将自动链接到该问题。<issue-number>-issue-description
现在可以通过 GitLab 15.6(2022 年 11 月)进行自定义:
为从问题创建的分支配置默认名称
定义自定义模板来命名从问题创建的分支。之前的设置
保持默认设置。{issue ID}-{issue-title-hyphenated}
要为您的项目定义自定义模板,请转到
。Repository Settings > Branch defaults