【问题标题】:Closing multiple issues in Github with a commit message使用提交消息关闭 Github 中的多个问题
【发布时间】:2011-04-02 14:59:37
【问题描述】:

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

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

【问题讨论】:

标签: github issue-tracking


【解决方案1】:

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.

以下曾经可以工作,但现在只有references发布#2和#3。

Closes #1, #2, #3

【讨论】:

  • 这似乎对我不起作用,它只关闭列表中的第一项而不是其他项。自这篇文章以来语法是否发生了变化?我已经用 Google 搜索过了,但似乎没有太多关于这方面的帮助。
  • 同意。修复 #1、#2 可以同时引用两者...但仅关闭 #1。
  • @waldo 我认为这在我写它的时候有效——那么现在,Closes #1, closes #2, closes #3 怎么样?是的,冗长而多余,但也许它有效?
  • 是的,“修复 #1 - 修复 #2 - 实际提交消息。”有效且有意义(如果冗长) - 即我清楚地关闭并从单个提交消息中引用(不关闭)多个不同的问题。
  • 知道他们为什么改变Closes #1, #2, #3 的行为吗?我觉得写 10 closes 加上要关闭的问题的数量而不是单个关闭以及之后的所有数字是荒谬的。 :-/
【解决方案2】:

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

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

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

这可能只是我个人喜好的问题,并且最终会被那些习惯于压缩提交消息的人打败,这些提交消息会使 Git 历史摘要变得混乱,但我更愿意看到格式如下的提交消息:

所做更改的摘要。

修复了以下错误:
* 修改错误加载器,修复 #1
* 返回一个过时的指针,修复 #2
* 将新图形应用到 gui 元素,关闭 #3

他要求以最佳方式关闭多个问题。

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

【讨论】:

  • 刚刚尝试过您的方式。老实说,我真的很喜欢这个!
【解决方案3】:

请注意,自 January 2013 以来,“通过提交消息关闭问题”已更改:

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

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

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

close, closes, closed, fixes, fixed

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

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

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

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

      Closing multiple issues

      要关闭多个问题,请为每个问题添加前言 使用上述关键字之一进行引用。您必须使用关键字 在您为关键字工作而引用的每个问题之前。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-13
        • 1970-01-01
        • 1970-01-01
        • 2012-01-11
        相关资源
        最近更新 更多