Як зробити повідомлення про коміти дивними та зробити вашу команду щасливою

Повідомлення комітів є важливим засобом спілкування між членами команди

Найважливіше у розробці програмного забезпечення команди - це спілкування. Повідомлення комітів є важливими засобами спілкування між членами команди: минулим та майбутнім.

Під час аналізу коду або налагодження у всіх нас виникають такі запитання:

  • Чому це якщо тут?
  • Хто забув оновити гілку?
  • Який вплив мала ця зміна?
  • Як ця зміна може колись виправити або вдосконалити код?

З цією метою git-вина дозволяє нам виявити, яка редакція останньою змінила файл. Але одне знання цього недостатньо добре. Було б корисно насправді прочитати повідомлення коміту, щоб зрозуміти, що там насправді сталося.

Нам потрібно прочитати повідомлення, щоб відчути справжню цінність хорошого повідомлення про коміт, і бути спонуканим написати їх.

Деякі найкращі практики

Отже, якщо більшість ваших Git-комітів дотепер були створені з чимось подібним, git commit -m "9000 — Bug fixes issue"тоді наступного разу спробуйте наступні рекомендації:

Ніколи не використовуйте коміт o git.-m sg> / --message=gt; flag t

Це дає вам поганий спосіб мислення відразу, оскільки ви відчуєте, що вам потрібно вписати своє повідомлення про коміт у команду терміналу, і робить коміт більш схожим на разовий аргумент, ніж на сторінку в історії.

Перший рядок завжди повинен містити 50 символів або менше, за ним слід порожній рядок.

Напишіть імперативний час: «Виправити помилку». [ Додати | Виправити | Видалити | Оновлення | Рефактор ] Послідовне формулювання полегшує розумову обробку списку комітів.

Довший опис із 72 символами.

Часто предмета самого по собі буває достатньо.Якщо це не так, додайте порожній рядок (це важливо), за яким слід один або кілька абзаців, жорстко загорнуті до 72 символів.

Ці параграфи повинні пояснити:

Чому необхідна ця зміна?

Ця відповідь пояснює, чого очікувати від коміту, дозволяючи їм легше виявляти та вказувати на не пов’язані зміни.

Як це вирішує проблему?

Опишіть на високому рівні, що було зроблено, щоб вплинути на зміни. Якщо ваша зміна очевидна, ви можете пропустити вирішення цього питання.

Які побічні ефекти має ця зміна?

Це найважливіше питання, на яке потрібно відповісти, оскільки воно може вказати на проблеми, коли ви вносите занадто багато змін в одному коміті або гілці. Один чи два пункти для відповідних змін можуть бути нормальними, але п’ять чи шість - це, ймовірно, показники коміту, який робить занадто багато речей.

# 50-character subject line## 72-character wrapped longer description. This should answer:## * Why was this change necessary?# * How does it address the problem?# * Are there any side effects?## Include a link to the ticket, if any.

Як полегшити своє життя

Це багато про що пам’ятати, але ви можете встановити шаблон повідомлення про фіксацію за допомогою commit.template

Налаштуйте Git на використання файлу шаблону (наприклад, .gitmessage), а потім створіть файл шаблону за допомогою Vim:

git config --global commit.template ~/.gitmessagevim ~/.gitmessage

Коли ми запускаємо git commitбез -mпрапора повідомлення, редактор відкриє наш корисний шаблон, готовий до роботи:

# [Add/Fix/Remove/Update/Refactor/Document] [summary]# Why is it necessary? (Bug fix, feature, improvements?)-# How does the change address the issue? -# What side effects does this change have?-# Include a link to the ticket, if any.

Коментовані рядки не включені в остаточне повідомлення. Просто заповніть порожні рядки текстом і крапками під підказками.

Трекери випуску в GitHub і Bitbucket як розпізнавати ключові слова close, fixі resolveпотім відразу випуск або тяговий номер запиту.

Думаю, Лінус був би дуже радий, якби ми більше ніколи не використовували git commit -m "Fix bug"публічне сховище :)

Ви можете просто шукати в журналі git номер випуску, наприклад, за допомогою git log --grep=JIRA-1234

Ви також можете використовувати плагіни, такі як vim-fugitiveдля vim або git lensдля коду vs, щоб швидко отримати доступ до повідомлень коміту git.

Заключні думки

Створення чистих комітетів Git говорить багато про вас і може бути основним способом взаємодії людей з вами під час проектів.

Трохи потренувавшись, ви можете зробити свої звички ще кращим відображенням вашої найкращої роботи - роботи, яка, очевидно, створюється з турботою та гордістю.

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

Якщо вам сподобалась ця стаття, поплескайте, порекомендуйте та поділіться.