Відповіді:
Інструменти керування версіями досить потужні, щоб людина змогла побачити, які файли були змінені та які методи були додані. Це означає, що загалом журнали повідомлень, які явно копіюють те, що вже існує, забруднюють журнал.
Ви додали somefunc
метод для виконання вимоги, тобто:
Це означає, що ваші повідомлення журналу повинні радше пояснювати, які функції / помилки були порушені або яка була мета рефакторингу.
Не забудьте додати номер БІЛЕТУ / ВИДАЛИ .
Якщо у вас є якась функція або проблема системи відстеження з квитком № або випуском # , обов'язково введіть цей ідентифікатор № в комісію. Це допоможе всім, хто хоче дізнатися більше про функцію чи проблему, над якою працювали.
У моєму останньому проекті був макрос, який був розроблений, щоб переконатися, що перші 7 цифр коментаря є дійсним номером випуску з чіткого квесту (наша система відстеження випусків / особливостей).
Я роблю такий тип речей, коли я здійснюю, наприклад, виправлення дефекту, який потребував змін у декількох файлах. Це дозволяє трохи простіше розповісти, що насправді змінилося, не дивлячись на окремі файли в наборі змін.
Для наборів змін одного файлу це зайве.
Перший рядок - це завжди опис набору змін на високому рівні, як посилання на дефект або історію користувача.
Якщо це відповідна інформація в розповіді повідомлення про вчинення, то так, включіть її. Якщо єдиним бітом інформації є саме ім'я файлу, то ні.
Наприклад, це має сенс: "Переміщено функцію build_foo () з fooutil.c на foobase.c, оскільки більшість програм, які хочуть використовувати build_foo (), вже включають foobase.c"
У цьому немає: "Оновлено build_foo () у fooutil.c, щоб взяти параметр bar."
Я хочу додати тут іншу точку зору.
Моя відповідь - Так чи ні. Але, як правило, я б сказав так.
Контроль версій дійсно досить потужний, щоб знати, який файл оновлюється. Але, коли ми це робимо
$ git log
Ми бачимо лише повідомлення про фіксацію. Те, що робить більшість людей.
Заглянувши в сам журнал. Це додає йому додатковий контекст. Наприклад:
readme.md: Fix typo detected by language tool
Краще, ніж
Fix typo detected by language tool
Однак якщо зміни породили кілька файлів, то принаймні згадуйте компонент, який редагується.
API: Fix reset password not sent email to user
Читаючи його, ми знаємо, що виправлена помилка є в компоненті API, і це, ймовірно, в каталозі API на базі коду.
Однак ми могли б це зробити
$ git show COMMIT_ID --name-only
але це додає ще крок лише для отримання файлів.
Я думаю, що справжнє питання полягає в тому, наскільки обмежені в обсязі ваші зобов'язання? Якщо ви зачекаєте разом здійснити різноманітні незв’язані зміни за один комітет, то, можливо, ви відчуєте необхідність вказати, які файли були змінені з якою метою.
Однак якщо ви просто зробили більш вузькі коміти частіше, то одна фіксація пояснювала б, які файли були змінені, і ви можете просто описати, яка мета була у повідомленні.
Більше комісій, частіше. Ось так ви можете уникнути настільки багатослівних у своїх повідомленнях.