我想知道人们通常如何在一次提交中分离出多个评论。明星?逗号?分开的线?只是想知道你认为什么是最好的。
我现在通过 Emacs 添加评论时正在使用它,但不确定我是否喜欢它:
Added error messaging
Cleaned up sign-up UI
Added recaptcha
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Committer: Conrad Chu <[email protected]>
#
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: app/controllers/api_controller.rb
# modified: app/controllers/users_controller.rb
# modified: app/models/user.rb
# modified: app/views/users/new.html.erb
# modified: app/views/users/show.html.erb
# modified: config/environment.rb
# modified: db/migrate/20090923001219_create_users.rb
# modified: db/schema.rb
# modified: doc/README
# modified: public/stylesheets/master.css
# new file: vendor/plugins/recaptcha/.gitignore
# new file: vendor/plugins/recaptcha/CHANGELOG
Git 对日志消息有非常严格的约定,但规则很简单:
首先,您应该使用这些约定,因为演示工具甚至依赖它们(第二行为空很重要,在许多情况下,您只会看到第一行摘要。)
使用 git,提交应该很小,所以第一个答案当然是,您不应该在一次提交中修改很多内容。您应该有 3 次提交,而不是 1 次。
但是,你可以在提交日志中写一篇完整的文章,在那里你可以详细描述他们的变化(动机、废弃的设计、想法)。如果这三个变化确实是一体的,本文将清楚地说明原因。
我发现更多说明描述了相同的 Git Commit 消息约定,并提供了 git 命令取决于特定格式的示例。 (其中大部分都是基于现有约定:通过电子邮件发送补丁。)
我必须同意@kaizer.se。使用 git 的功能将修改分阶段到 3 个不同的提交中。通过这种方式,您可以清楚地了解每次修改的内容,并且您的提交评论将告诉您原因。在合并回主分支时(假设您正在使用功能 mod 的分支),您可以将这些较小的提交汇总到一个合并中。
我努力不提交需要太多评论的更改,但如果有需要,我通常会这样做:
Multiple changes:
- done this
- fixed that
- removed other
Maybe some additional explanations.
就功能而言,尽量保持提交的原子性。当我忘记在每个完成的功能之后实际提交时,我会为此准备一大堆或几行代码。