2010-11-08 84 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