В git, какие есть хорошие соглашения для форматирования нескольких комментариев в один коммит - PullRequest
5 голосов
/ 03 октября 2009

Мне было интересно, как люди обычно выделяют несколько комментариев в одном коммите. Звезды? Запятые? Отдельные строки? Просто интересно, что ты считаешь лучшим.

Я использую это сейчас, когда добавляю комментарии через 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 <chuboy@conradlaptop.local>
#
# 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

Ответы [ 4 ]

18 голосов
/ 03 октября 2009

У Git очень строгие правила для сообщений журнала, но правила просты:

  1. Первая строка - сводка коммита
  2. Первая строка может иметь префикс описания области "module:"
  3. Вторая строка пуста
  4. Затем следует обсуждение в параграфах, если это необходимо

Для начала вы должны использовать эти условные обозначения, поскольку инструменты представления даже полагаются на них (важна вторая строка, и во многих ситуациях вы увидите только сводку первой строки.)

В git коммиты должны быть небольшими, поэтому первый ответ, конечно, состоит в том, что вы не должны изменять многие вещи за один коммит. У вас должно быть три коммита, а не один.

Но вы можете написать целое эссе в журнале коммитов, и там вы можете описать их изменения во всех деталях (мотивация, отказ от дизайна, идеи). Если три изменения действительно связаны друг с другом, этот текст прояснит причину.

Я нашел больше инструкций , описывающих те же соглашения о сообщениях Git Commit, с примерами, для которых команды git зависят от конкретного формата. (Большинство из них основаны на существующем соглашении: исправления отправляются по электронной почте.)

3 голосов
/ 03 октября 2009

Я стараюсь не вносить изменения, которые требуют слишком много комментариев, но если это необходимо, я обычно делаю что-то вроде этого:

Multiple changes:

- done this
- fixed that
- removed other

Maybe some additional explanations.

Старайтесь сохранять коммиты атомарными, насколько это касается функций. Я ставлю фрагменты или строки кода для этого, когда я забываю фактически фиксировать после каждой завершенной функции.

3 голосов
/ 03 октября 2009

Я должен согласиться с @ kaizer.se. Используйте способность git разбивать модификации на 3 разных коммита. Таким образом, у вас есть четкое представление о том, что представляет собой каждая модификация, и ваши комментарии по коммитам объяснят вам, почему. При слиянии обратно в основную ветвь (при условии, что вы используете ветки для функциональных модов) вы можете свернуть эти небольшие коммиты в одно слияние.

1 голос
/ 03 октября 2009

Посмотрите здесь, http://progit.org/book/ch5-2.html, есть правила коммита и пример коммита.

...