2010-08-23 48 views
91

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

而且,看来使用fixes而不是closes不会产生从提交信息的链接问题,但它确实关闭这个问题。那是怎么回事?

+0

请参阅http://stackoverflow.com/questions/1687262 – Krinkle 2013-01-23 21:30:06

回答

129

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

这似乎不适用于我,它只关闭列表中的第一项而不是其他项。自这篇文章后语法有变化吗?我已经谷歌搜索了它,但似乎并没有在这方面有很多帮助。 – 2011-01-31 18:32:58

+1

同意。修复#1,#2可以引用这两个...但仅关闭#1。 – waldo 2011-04-30 21:41:42

+0

@waldo我认为这个工作时,我写了 - 现在,那么,'关闭#1,关闭#2,关闭#3'怎么样?详细和多余的,是的,但也许它工作? – 2011-05-01 19:28:09

35

答案和到该应答的注释提及以下格式:

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

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

这可能只是我个人的偏好问题,最终会被人们用来压缩提交混乱Git历史摘要的提交消息,但我宁愿看到具有格式的提交消息:

变更摘要。

修正以下错误:
*修正错误装载机,修复#1
*返回nonstale指针,修复#2
*应用了新的图形GUI元素,关闭#3

他问为最好的方式来关闭多个问题。

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

+0

好的建议! :) – 2012-08-02 09:21:12

+0

刚试过你的方式。我必须诚实,我非常喜欢这个! – 2012-10-25 04:19:42

9

需要注意的是,由于January 2013,“通过提交信息截止问题”发生了变化:

现在,当你输入“Fixes #33”提交信息,发行33只被关闭一次提交的合并到您的默认分支(通常为master

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

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

close, closes, closed, fixes, fixed 

就说明了这个问题:“Closing a GitHub Issue while on a different branch”,这将导致在第一一些混乱。