2010-06-10 77 views
5

什麼是提交消息?我一直把它們寫成解釋我所做的事情,但最近我和一位寫同事信息的同事討論了這個問題,他解釋了爲什麼他這麼做。哪一個是對的,還是完全有另一個答案?正確提交消息

注:我完全不知道是否有一個「正確」的答案。因此,我已經將它標記爲社區維基,並且不會接受答案。 Upvotes將決定勝利者:)

回答

6

作爲個人偏好,我可以通過直接查看文件中的差異來告訴什麼是爲什麼是我不能從推斷實際變化中推斷出來的。

如果變化很大或很複雜,那麼我不僅會包括原因,還會包括如何如何

+0

我將提交消息視爲電子郵件。 「什麼」是主題行,可能引用了一個錯誤#,但應該簡潔地描述更改 提交消息的主體是原因。 – 2010-06-10 03:53:43

+1

實際上,查看差異告訴你*它是如何完成的,代碼中的註釋和問題跟蹤系統應該告訴你爲什麼*,並且提交消息應該告訴你*什麼*,最好還有一個鏈接問題跟蹤系統。在我看來,當然。 – 2010-06-10 14:43:27

+0

有些更改不容易提交給「評論...應該告訴你爲什麼」:例如,刪除腐爛的代碼。每次向註釋中添加「爲什麼」可能會以SCM-in-source-code方案結束。當然,有時候它會添加一條評論來解釋爲什麼在這裏添加一些代碼的「顯而易見的」方法是錯誤的。 – 2012-07-17 02:24:49

1

我認爲兩者都有用。有關更改內容的簡要說明(「爲AddUserForm添加長度驗證」)比查看差異更容易,尤其是在瀏覽多個提交時。爲什麼改變了,修正了什麼錯誤等等,顯然也是一件非常好的事情。

1

我使用commit消息的executive summary什麼改變。

執行摘要是一個簡短的文檔,它以這樣一種方式進行總結,即讀者可以快速熟悉大量材料而無需全部閱讀。

爲什麼被記錄在其他地方:一個問題跟蹤系統,需求文檔,等等。我還包括從提交信息到爲什麼鏈接,反之亦然。

+0

爲什麼很重要 - 如果你沒有在別處記錄它,那麼把它放在提交消息中。 – 2010-06-10 03:52:31

+0

@theatrus,我絕對同意,但對於任何大中型項目,提交信息不** **的地方來記錄你*爲什麼*。 – Dolph 2010-06-10 03:54:02

+0

@Dolph,我認爲提交信息*美好的*的地方,把代碼個爲什麼,但我同意你的看法,這是一個不好的地方,把項目的個爲什麼。例如:「這段代碼因爲它在酒吧間隔斷而打破了foo」:很好。 「這個功能需要支持來自Foo Inc.的Joe」:糟糕。 – 2012-07-17 02:28:29

1

提交消息是您對它們所做的,但是當某個文件有數百個或項目數量爲幾千個時,您希望能夠掃描它們以查找某些更改或更改的性質。實際上,它們就像代碼註釋一樣,它們需要儘可能地有幫助,但要簡潔明瞭。也許最好把它們當作tweets--在短暫的空間裏傳達最大的意義。作爲一個跨越幾十年的大型代碼庫,以及跨越一兩年的小型項目的工作人員,在梳理提交日誌時,我發現沒有什麼比「oops」或「fixed bug」等消息更讓人惱火了。如果你修正了一個錯誤,告訴我們哪一個錯誤(一個錯誤號碼,至少)。這對所有不可避免的取證都很重要。