2010-11-08 86 views

回答

12

有異,當然,而是一個非常常見的格式是這樣的(從http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html拍攝,我覺得總結起來真的很好):

Short (50 chars or less) summary of changes 

More detailed explanatory text, if necessary. Wrap it to about 72 
characters or so. In some contexts, the first line is treated as the 
subject of an email and the rest of the text as the body. The blank 
line separating the summary from the body is critical (unless you omit 
the body entirely); tools like rebase can get confused if you run the 
two together. 

Further paragraphs come after blank lines. 

- Bullet points are okay, too 

- Typically a hyphen or asterisk is used for the bullet, preceded by a 
    single space, with blank lines in between, but conventions vary here 

一件事不解決的是什麼我已經爲自己採納了,即在第一行的開頭使用短標籤來標識它是什麼類型的提交。這可能是標記爲[fix]的錯誤修正,[new]爲新功能,或[dev]爲隻影響內部的提交。有了這樣的策略,很容易從提交中自動生成更改日誌。

編輯:這裏還有一個很好的總結,從這個網站甚至:In git, what are some good conventions to format multiple comments to a single commit

+1

第一行更常見的前綴是提交應用於的項目部分。它可能是一個文件名,一個模塊,無論適合你。否則,我認爲你幾乎涵蓋了通常的嫌疑人! – Cascabel 2010-11-08 18:47:43

+0

我傾向於不使用任何元數據(除了bug指針)將我的摘要弄亂。寫得好的提交以及良好的總結是一個好的開始。您總是可以在摘要底部附近添加標籤,以決定是否有資格獲得發行說明。然後,我將這些標籤放在實際標籤中,並通過標籤[生成我的更新日誌](http://dustin.github.com/2009/01/17/changelog.html)。 :) – Dustin 2010-11-08 20:42:33

1

我不建議大的消息。如果你不能用一句話解釋你在做什麼,你的承諾就包含了太多的變化。如果你已經提交,使用git rebase -i並分割你的提交。如果您還沒有提交更改,請使用git add -p以小部分進行分段,然後提交爲較小的提交。

像這樣的粒度變化歷史記錄將有助於後續合併和重置。它還可以幫助您鏈接到問題跟蹤器。如果您有兩張或更多票據,則解密提交中的每個更改都會更加困難。

+1

重大更改通常需要實質性解釋,尤其是在處理大型項目時,必須保留外部和/或內部規範文檔的語義。我必須編寫四段落實提交消息才能更改MPICH源中的單個宏,因爲我必須解釋MPI標準行爲和內部宏語義以證明更改的合理性。如果我沒有這樣做,一些未來的開發人員會浪費大量的時間來重新發現這些信息。 如果我可以的話,我願意downvote ... – Jeff 2013-05-30 14:18:47

+0

謝謝,@Jeff。軟件是一個如此巨大的世界,它不是關於規則而是指導方針。有時候不可能應用它們。 – 2013-05-30 23:35:26

+0

我同意原子提交的想法(這就是爲什麼一般不喜歡擠壓的原因),但是我認爲在提供比需要更多的上下文而不是更少的上下文的錯誤方面更好。此外,如果這項工作沒有被提交爲原子提交,我不建議按照您的建議拆分它們。這會增加提交不完整代碼的風險。 – 2016-07-01 23:20:07