November 24, 2022

Note | Commit Message Format

說明 Git 提交時應注意的 Commit message format,建立良好的規範才能有效的合作

  • 做 issue 的時候不應該一次 Commit 所有變動!應該獨立每個 Commit 不同意義的異動,這樣才能使 Commit 快速閱讀與程式碼間的關係。
  • 每次 Commit 都是針對異動做說明,Why & What。
  • 每次 Commit 加上 issue 編號,方便追蹤後續問題。

Basic format

Header:

  • type: 代表 commit 的類別:feat, fix, docs, style, refactor, test, chore,必要欄位。
  • scope 代表 commit 影響的範圍,例如資料庫、控制層、模板層等等,視專案不同而不同,為可選欄位。
  • subject 代表此 commit 的簡短描述,不要超過 50 個字元,結尾不要加句號,為必要欄位。

Body:

  • Body 部份是對本次 Commit 的詳細描述,可以分成多行,每一行不要超過 72 個字元。
  • 說明程式碼變動的項目與原因,還有與先前行為的對比。

Footer:

  • 填寫任務編號(如果有的話).
  • BREAKING CHANGE(可忽略),記錄不兼容的變動,以 BREAKING CHANGE: 開頭,後面是對變動的描述、 以及變動原因和遷移方法。

type 需規範好有哪些類別:

  • feat: 新增/修改功能 (feature)。
  • fix: 修補 bug (bug fix)。
  • docs: 文件 (documentation)。
  • style: 格式 (不影響程式碼運行的變動 white-space, formatting, missing semi colons, etc)。
  • refactor: 重構 (既不是新增功能,也不是修補 bug 的程式碼變動)。
  • perf: 改善效能 (A code change that improves performance)。
  • test: 增加測試 (when adding missing tests)。
  • chore: 建構程序或輔助工具的變動 (maintain)。
  • revert: 撤銷回覆先前的 commit 例如:revert: type(scope): subject (回覆版本:xxxx)。

Example

  • 一個簡單的 feat 範例
#Feat Example
feat: message 信件通知功能

因應新需求做調整:
 通知和 message 都要寄發每日信件,
 通知和 message 都用放在同一封信裡面就好,
 不然信件太多可能也不會有人想去看。

調整項目:
1. mail_template.php,新增 message 區塊。
2. Send_today_notify_mail.php,新增 取得每日 Message 邏輯。
3. Message_model_api.php,新增 $where 參數,以便取得每日訊息。
4. Message_api.php、Message_group_user_model_api.php,新增 *取得訊息使用者* 邏輯,以便撈取每日訊息。

issue #863
NOTE

只會寫程式只能代表你是一個 Coder,能跟一群人一起寫程式才是一個 Engineer。
What’s the Difference Between a Programmer, Coder, Developer, and Software Engineer?

results matching ""

    No results matching ""

    , github, tool