45

如何使用 GitHub 上的拉取请求关闭问题?我知道使用提交消息关闭多个问题,但情况不同。

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

拉取请求:

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

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

4

2 回答 2

78

正如您在评论中提到的,来自拉取请求的合并将导致提交。
您可以在该提交消息上添加“ close #xx”以触发问题的关闭。

然而,正如“ Closing multiple issues in Github with a commit message ”、GitHub 博文“ Closing Issues via Commit Messages ”(2013 年 1 月)和当前 GitHub 文档中所述。

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

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

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

关闭问题

您可以使用这些关键字中的任何一个通过提交消息关闭问题:

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

正如cosmolev (upvoted)在下面提到的,2013 年 5 月 14 日的博客文章“通过拉取请求关闭问题”添加拉取请求作为关闭问题的一种方式:

有些问题需要比一次提交更多的工作来关闭
这就是为什么您现在可以从 Pull Request 关闭问题
您所要做的就是fixes #5在您的拉取请求的正文中包含特殊的关键字语法(例如“”)。

评论拉取请求

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

正如John Eikenberry在评论中指出的那样,帮助页面“使用关键字关闭问题”确实提到:

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

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

于 2013-04-05T06:56:07.237 回答
12

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

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

其中 18 是问题编号

于 2013-05-30T21:38:16.670 回答