2012-09-02 106 views
11

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

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

拉请求:

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

和合并拉请求时,#123自动接近。这可能吗?

+3

人们可以从github上拉请求关闭的问题当实际做'合并'时,通过添加一个描述信息,比如'closes#123'或'fixes#242#111',其中'#number ==发行号码' –

+0

你试过这个样本回购?创建两个问题,使用“关闭#xxx”引用另一个问题并关闭该问题。会发生什么 – random

+2

工作流程如下:您有一个问题#111和一个拉请求#112。当合并pull请求到一个分支时(通过点击Merge pull request按钮),github需要textarea中的附加信息并要求你“确认合并”。在该textarea中,可以添加“关闭#111”,当点击确认合并时,问题#111将被关闭。不是理想的方式,但总比没有好。 –

回答

22

当你mention in the comments从拉取请求合并将导致提交。
正是在该提交消息中,您可以添加一个“close #xx”以触发问题的结束。

然而,正如“Closing multiple issues in Github with a commit message在GitHub上的博客文章,以及” Closing Issues via Commit Messages“(2013年1月)

现在,当你进入”提交信息Fixes #33“中提到,发行33仅会被关闭提交将合并到您的默认分支(通常是master

这是超级有用,因为它意味着问题的开/关状态将映射到默认的系统分支。
如果错误不是固定在德故障分支,问题将保持开放。
一旦与修复提交合并到您的默认分支问题将被自动关闭。

当你做出与“Fixes #33”语法非默认分支的提交,这个问题将与工具提示中引用:

Closing Issue

您可以使用任何的这些关键字来关闭的问题通过提交信息:

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

由于mentioned belowcosmolev(upvoted),从May 14th 2013 "Closing Issues via Pull Requests"博客文章增加了拉请求的方式来关闭的问题:

一些问题采取多单的工作承诺关闭
这就是为什么您现在可以通过合并请求来解决问题。
您需要做的只是在您的合并请求正文中包含特殊关键字语法(例如“fixes #5”)。

comment on pull request

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

+0

不错,不知道它被修正了。上次我在提交中尝试修复#33时,问题就会关闭。凉。 –

+2

@AndreiPetre由cosmolev在下面提到,并且在我的回答中编辑时,pull请求现在也可以关闭一个问题。 – VonC