Jira:将现有的 git 分支分配给问题

Posted

技术标签:

【中文标题】Jira:将现有的 git 分支分配给问题【英文标题】:Jira: assign an existing git branch to an issue 【发布时间】:2014-11-05 12:47:13 【问题描述】:

在与 STASH 连接的 JIRA 中,您可以使用“创建分支”按钮为问题创建功能分支。 (很高兴跟踪此问题中的提交。)

如果开发人员开始工作但不知道存在这样的问题,他没有单击“创建分支”。

是否有可能将现有的 git 分支分配给问题?

【问题讨论】:

【参考方案1】:

这里是前 Stash 开发人员。

是和不是。通过 UI 创建分支只是一种方便。重要的是名称包含 JIRA 密钥。如果只有一个开发人员在分支上工作,只需用适当的名称重命名(删除 + 添加)一个分支就相当容易了。

git checkout old-branch
git push -u origin old-branch:JIRAKEY-1234-something
git push origin :old-branch

这有帮助吗?

【讨论】:

也许,2014 年就是这样。现在,分支可以命名为任何名称。将分支链接到 JIRA 问题的唯一方法是通过 JIRA 问题接口创建该分支。要链接现有分支,必须将其从 Stash(现为 BitBucket Cloud)中删除,使用 JIRA 接口重新创建它,然后推送/合并到其中。 参考之前关于解决方案不再起作用的评论。今天试过了,确实有效 @AndrewWolfe 分支名称应在其名称中包含 JIRA 票证。如果我的 JIRA 问题是“SM-100 Shunt the deuterium”并且分支是“get-the-warp-drive-ready”。如果我希望我的分支绑定到 SM-100,我需要更改分支名称。所以我将我的分支移动到一个新分支,然后删除我的分支。所以从命令行 - git checkout get-the-warp-drive-ready git push -u origin get-the-warp-drive-ready:SM-100-Shunt-the-deuterium git push origin :get-the-warp- drive-ready 由于 JIRA id 是唯一的,我猜每张票只有一个分支。 @AndrewWolfe 正如 Kedar 提到的,“某事”是您想要的任何东西,按照您团队的正常分支命名约定。对 Kedar 的评论只有一点点更正 - 每张票您可以拥有任意数量的分支机构。 @charleso 解决方案不起作用,这些步骤会创建一个具有所需名称的新分支并删除旧分支,但这不会将分支附加到 Jira【参考方案2】:

更新

至于 2017 年 1 月,如果您有一个已经退出的分支,并且您想将其附加到 Jira 问题,您可以执行以下操作:

    结帐到要重命名的分支

    执行以下命令

    git branch -m JIRA_ISSUE_ID-Whatever

假设我的 Jira 问题是 SO-01 我可以执行以下操作:

git branch -m SO-01-Whatever

这将在本地更改名称,将其推送到远程:

git push origin :old_name

命令语法

git branch (-m | -M) [<oldbranch>] <newbranch>

Related question for more info

【讨论】:

仅供大家参考,相关分支可能需要几分钟才能显示在 JIRA UI 中,因为我就是这种情况。 这是否会以任何方式更改分支提交? 没有。这不起作用。重命名的分支永远不会出现在 Jira 问题的开发下拉列表中。 确实如此,您只需以新名称推送分支。 @Sid 编写的两个命令在本地重命名分支并使用旧名称删除远程分支。现在你必须使用:git push origin new_name.【参考方案3】:

现在已经不是这样了。使用 bitbucket 和 Jira 之间的通用设置,只需在提交消息中包含问题 ID 即可在提交、分支和 Jira 中的问题之间创建链接。

【讨论】:

请原谅,但问题 ID究竟是什么 这是问题键。当您编辑问题时,它会出现在编辑问题旁边,例如Edit issue: PROJ-32。因此,只需在提交注释中添加此名称,例如“修复问题 #PROJ-32 上的内容”。 这似乎没有链接分支,虽然提交会列出,但分支没有。遗憾的是,这不是解决方案。【参考方案4】:

我刚刚测试了分支名称中包含 Jira ID 会创建自动链接的理论。 确实如此。

要查看效果,您必须推送一个提交。然后分支将出现在 Jira 中。 分支显示在 Jira 中,但要让单个提交显示在 Jira 中,我必须在提交消息中引用 Jira ID。

【讨论】:

【参考方案5】:

Web 界面选项是分支出一个分支,但在拉取请求中合并回 master。

例如:

    点击在jira中创建分支 根据需要设置 repo、分支类型和名称 将分支从设置为现有分支 点击创建 创建拉取请求时,将目标分支设置为您想要的分支,例如 master

【讨论】:

【参考方案6】:

如果您在分支名称中包含 JIRA-ID,则通过从现有提交中创建,您所要做的就是:

git push --set-upstream origin <new-branch-name>

并且分支附加到 JIRA 票证上。

【讨论】:

如果分支已经被推送(并合并),您也可以创建一个嵌入 jira-id 的新分支,并进行微小的更改,然后推送并做新的公关。【参考方案7】:

只需在提交消息中使用 Jira 问题密钥添加一个新提交

【讨论】:

以上是关于Jira:将现有的 git 分支分配给问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JIRA REST API 将 JIRA Agile 问题分配给当前用户的当前 sprint?

jira中的复杂过滤器

基本 CUDA 指针/数组内存分配和使用

ruby 将JIRA票证标题转换为git分支名称

如何将现有的 Git 存储库导入另一个?

将现有的 Gradle Git 项目导入 Eclipse