我曾经读到git提交消息应该使用祈使式现在时,例如。“为x添加测试”。我总是发现自己在用过去时。“为x添加测试”,这对我来说感觉更自然。
下面是John Resig最近在一条消息中展示了这两点:
在操作测试中调整更多的jQuery集合结果。还固定了预期测试结果的顺序。
这重要吗?我应该用哪一种?
我曾经读到git提交消息应该使用祈使式现在时,例如。“为x添加测试”。我总是发现自己在用过去时。“为x添加测试”,这对我来说感觉更自然。
下面是John Resig最近在一条消息中展示了这两点:
在操作测试中调整更多的jQuery集合结果。还固定了预期测试结果的顺序。
这重要吗?我应该用哪一种?
当前回答
这取决于你。只要使用提交消息就可以了。 但如果你不需要在时间和语言之间切换,就会更容易。
如果你是在一个团队中开发,那么这个问题应该讨论并解决。
其他回答
我对365git写了更详细的描述。
The use of the imperative, present tense is one that takes a little getting used to. When I started mentioning it, it was met with resistance. Usually along the lines of “The commit message records what I have done”. But, Git is a distributed version control system where there are potentially many places to get changes from. Rather than writing messages that say what you’ve done; consider these messages as the instructions for what applying the commit will do. Rather than having a commit with the title: Renamed the iVars and removed the common prefix. Have one like this: Rename the iVars to remove the common prefix Which tells someone what applying the commit will do, rather than what you did. Also, if you look at your repository history you will see that the Git generated messages are written in this tense as well - “Merge” not “Merged”, “Rebase” not “Rebased” so writing in the same tense keeps things consistent. It feels strange at first but it does make sense (testimonials available upon application) and eventually becomes natural. Having said all that - it’s your code, your repository: so set up your own guidelines and stick to them. If, however, you do decide to go this way then git rebase -i with the reword option would be a good thing to look into.
坚持使用现在时祈使句,因为
有一个标准是很好的 它与bug跟踪器中的票据相匹配,这些票据自然具有“实现某些东西”、“修复某些东西”或“测试某些东西”的形式。
对当前时态、命令式提交消息的偏好来自Git本身。从Git repo中的Documentation/ subtingpatches:
描述你祈使语气的变化。"让xyzzy做frotz" 而不是“[这个补丁]使xyzzy做frotz”或“[我]改变了xyzzy。 To do frotz”,就好像你在命令代码库进行更改 其行为。
因此,您将看到许多以这种风格编写的Git提交消息。如果您在一个团队或开源软件中工作,那么如果每个人都坚持这种风格,以保持一致性,这是很有帮助的。即使您正在处理一个私人项目,并且您是唯一一个会看到您的git历史的人,使用祈使式语气也很有帮助,因为它建立了良好的习惯,当您与他人一起工作时,这些习惯将受到赞赏。
这重要吗?人们通常足够聪明,可以正确地解释消息,如果他们不是,你可能不应该让他们访问你的存储库!
这取决于你。只要使用提交消息就可以了。 但如果你不需要在时间和语言之间切换,就会更容易。
如果你是在一个团队中开发,那么这个问题应该讨论并解决。