Commit Message 規範組成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 組成
Header: <type>(<scope>): <subject>
- type(必填): 代表commit的類別:feat, fix, docs, style, refactor, test, chore。
- scope(非必填): 代表commit影響的範圍,例如資料庫、控制層、模板層等等,可視專案需要調整。
- subject(必填): 代表此commit的簡短描述,不要超過 50 個字元,**結尾不要加句號**。

Body:(非必填)
* 交付詳細描述,可以分成多行,每一行不要超過72個字元。
* 說明程式碼變動的項目與原因,還有與先前行為的對比以及參考連結。

Footer:
- Closed issues(非必填): 填寫任務編號。
- Breaking changes(非必填): 記錄不兼容的變動,以『BREAKING CHANGE:』開頭,後面是對變動的描述、以及變動原因和遷移方法。


# type items:
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)。
build: 影響構建系統或外部依賴項的更改(範圍:gulp、broccoli、npm)。
ci: 更改CI配置文件和腳本(範圍:Travis、Circle、BrowserStack、SaucelLabs)。
chore: 建構程序或輔助工具的變動 (maintain)。
revert: 撤銷恢復先前的commit,例如:revert: 恢復版本:xxxx。

1
2
3
4
5
6
7
8
9
10
11
12
# 範例
* bda94f08 fix: 修正Pseudo語言翻譯
* 9ae9b3b8 fix: 修正Pseudo觸發cms api接口
* 13b2e26d ci: 部署prod時自動產生commit report txt.
* 00923cb6 refactor: serializers
* ef7d8785 feat: 路燈API加入enable過濾
* e34ad2f3 feat: 路燈維護->disable/enable加入權限限制
* 3b631819 feat: streetLamp add is_enable and actions(enable/disable)
* c0629cda fixed: fix datetime import path
* eee24993 feat: 群控/單控pseudo api implement
* 42230808 docs: upgrade lang package(add:Pseudo)
* 586f45fd docs: upgrade lang package(add:Pseudo)

Install

Plugin Site

  • Setting->Plugins-> search 『git commit template』。 Click Install button.

Usage

  • 新增測試檔案

  • 進行git commit

  • 填寫commit內容

  • 產生commit內容

參考文獻