2010-08-23 85 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」,這將導致在第一一些混亂。