## commit type 類別
- fix:修補 bug (bug fix) - feat:新增/修改功能 (feature) - docs:新增/修改文件 (documentation) - style:格式 (不影響程式碼運行的變動 white-space, formatting, missing semi colons, etc) - refactor:重構 (既不是新增功能,也不是修補 bug 的程式碼變動) - perf:改善效能 (A code change that improves performance) - test:增加/修改測試 (when adding missing tests) - build:修改影響系統建置或是外部依賴(example scopes: pip, docker, npm)
## commit 結構
# 結構示意 < type>(< scope>): < subject> ( BREAKING CHANGE: ) < footer>
1. < type>:commit 的類別
– 必填
2. < scope>:改動範圍
– 選填
– 以class為主,若異動多支class,可於body再進行詳述
3. < subject>:commit 的簡短描述
– 必填
– 不要超過 50 個字元
– 結尾不要加句號 (. or 。)
4. BREAKING CHANGE:是否為重大改動
– 必填
5. < body>:commit 的詳細描述
– 必填
– 可以分成多行,每一行不要超過 72 個字元
– 如需換行,可使用”|”换行
– 說明程式碼變動的項目與原因,還有與先前行為的對比
6. < footer>
– 選填
– 填寫工單編號
– 前面請加#字號
# 範例 fix(player_entity): 修改建構式 將player dao以依賴注入方式供player entity使用 #123
– *[Git Commit Message 這樣寫會更好,替專案引入規範與範例]
## 自動化工具
– [commitizen](https://github.com/commitizen-tools/commitizen)
## 安裝
sudo pip3 install -U Commitizen
## 使用
# git commit -m 'xxx' 的指令,改成: cz commit # 或下面簡潔指令 cz c # Enter 執行後,依提示完成 commit 提交