使用提交消息在Github中关闭多个问题

时间:2010-08-23 12:19:53

标签: github issue-tracking

我知道您可以通过在提交邮件中添加closes #1fixes #1来解决问题。在同一个提交消息中关闭多个问题的最佳方法是什么?

此外,似乎使用fixes而非closes不会创建从提交消息到问题的链接,但 会关闭此问题。怎么了?

5 个答案:

答案 0 :(得分:141)

Closes #1, closes #2, closes #3; rest of commit message.

closes子句可以在邮件中的任意位置,fixes是有效的同义词:

This fixes a memory leak in foo() that closes #4,
also fixes #5 which is a duplicate.

以下用于工作,但现在只有引用发布#2和#3。

Closes #1, #2, #3

答案 1 :(得分:35)

答案和对该答案的评论提到以下格式:

  

关闭#1,关闭#2,关闭#3;实际提交消息

如果我有一个值得参与的项目,并且有人发送了带有此类提交消息的拉取请求,无论代码有多漂亮,我都会拒绝拉动。

这可能仅仅是我个人偏好的问题,最终会被人们用来压缩Git历史摘要的提交消息打败,但我更愿意看到提交消息的格式:

  

所做更改的摘要。

     

修正了以下错误:
  *修改了错误加载器,修复了#1
  *返回非陈旧指针,修复#2
  *将新图形应用于gui元素,关闭#3

他要求最佳方式来解决多个问题。

另请注意,如果将带有消息的提交推送到除存储库的当前默认分支之外的任何其他分支,则只会引用问题。将提交推送到主分支将关闭问题。请参阅:Link to GitHub issue number not working?

答案 2 :(得分:9)

请注意,由于January 2013,“通过提交邮件关闭问题”已更改:

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

  

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

     

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

close, closes, closed, fixes, fixed

如问题“Closing a GitHub Issue while on a different branch”所示,这首先引起一些混淆。

答案 3 :(得分:1)

来自Github自己的文档:Linking a pull request to an issue

Resolves #10, resolves #123, resolves octo-org/octo-repo#100

Screenshot from GitHub Documentation

答案 4 :(得分:0)

"Closing issues using keywords"是GitHub上的文档,描述了如何关闭问题,标签以及如何关闭多个问题。

要回答您的问题,GitHub的答案是:

  

Closing multiple issues

     

要关闭多个问题,请为每个问题开头   使用上述关键字之一进行引用。您必须使用关键字   在您引用每个问题之前,该关键字才能起作用。

     

例如,这关闭#34,关闭#23,然后关闭   example_user / example_repo#42将关闭问题34和#23   同一存储库,并在“ example_user / example_repo”中发出#42   存储库。