【问题标题】:Automatically closing issue from pull request in GitHub从 GitHub 中的拉取请求中自动关闭问题
【发布时间】:2012-08-27 11:14:30
【问题描述】:

如何使用 GitHub 上的拉取请求关闭问题?我知道closing multiple issues with a commit message,但情况不同。

我想关闭问题不是来自提交,而是来自拉取请求的描述。更像

拉取请求:

Name: bla bla
Description ... , _fixes_ #123

在合并拉取请求时,#123自动关闭。这可能吗?

【问题讨论】:

  • 在实际执行merge 时,可以通过添加closes #123fixes #242 #111 之类的描述消息来关闭github 上的拉取请求中的问题,其中#number == issue number
  • 您是否在示例存储库中尝试过这个?创建两个问题,使用“已关闭#xxx”引用另一个问题并关闭该问题。会发生什么
  • 工作流程如下:您有一个问题 #111,还有一个拉取请求 #112。将拉取请求合并到分支时(通过点击合并拉取请求按钮),github 需要文本区域中的其他信息并要求您“确认合并”。在该文本区域中,可以添加“关闭#111”,当点击确认合并时,问题#111 将被关闭。不是理想的方式,但总比没有好。
  • 那应该就是答案

标签: github workflow pull-request


【解决方案1】:

当您mention in the comments 时,拉取请求中的合并 将导致提交。
您可以在该提交消息中添加“close #xx”以触发问题的关闭。

但是,如“Closing multiple issues in Github with a commit message”、GitHub 博文“Closing Issues via Commit Messages”(2013 年 1 月)和 current GitHub docs 中所述。

现在,当您在提交消息中输入“Fixes #33”时,只有在提交合并到您的默认分支(通常为 master)后,第 33 期才会关闭

这非常有用,因为这意味着问题的打开/关闭状态将映射到您的默认分支。
如果您的默认分支中未修复该错误,则该问题将保持打开状态。
一旦带有修复的提交合并到您的默认分支中,问题将自动关闭。

当您使用“Fixes #33”语法在非默认分支中进行提交时,将通过工具提示引用该问题:

您可以使用以下任何关键字通过提交消息关闭问题:

close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved

作为cosmolevmentioned below(已投票),来自May 14th 2013 "Closing Issues via Pull Requests" 的博文添加了拉取请求作为关闭问题的一种方式:

有些问题比单次提交需要更多的工作才能关闭
这就是您现在可以通过拉取请求关闭问题的原因。
您所要做的就是在您的拉取请求正文中包含特殊的关键字语法(例如“fixes #5”)。

当 PR 合并到默认分支时,引用的问题将自动关闭。
它甚至可以跨存储库工作。

正如John Eikenberry 指出in the comments,帮助页面“Closing issues using keywords”确实提到:

要关闭多个个问题,请在每个问题引用前加上上述关键字之一。
您必须在您引用的每个问题之前使用关键字才能使关键字起作用。

例如,This closes #34, closes #23, and closes example_user/example_repo#42 将关闭同一存储库中的问题 #34 和 #23,并关闭“example_user/example_repo”存储库中的问题 #42。

【讨论】:

  • 很好,不知道它是固定的。上次我在提交中尝试修复 #33 时,问题将关闭。酷。
  • @AndreiPetre,正如 cosmolev 下面提到的,正如我在回答中所编辑的那样,拉取请求现在也可以关闭问题。
  • 小附录。要在一个拉取请求中关闭多个问题,您需要在每个问题之前使用关键字。例如。 fixes #123, fixes #321, fixes #999 参考:help.github.com/en/articles/closing-issues-using-keywords
  • @JohnEikenberry 谢谢。我已将您的评论包含在答案中以提高知名度。
【解决方案2】:

终于有可能了:https://github.com/blog/1506-closing-issues-via-pull-requests

只需添加 resolve #18 即可拉取请求消息

其中 18 是问题编号

【讨论】:

  • 有趣。 +1。为了提高知名度,我在答案中包含了对该博客文章的引用。
猜你喜欢
  • 2015-04-30
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 2022-10-02
相关资源
最近更新 更多