# Commit Message Style & Branch Name

## 藍星球 Git Commit Message規範(202207)

### Purpose

讓Commit Message的寫法有個依循，並⽅便合作同事能快速理解commit的意圖 本規範基於202102的版本經RD討論修改⽽成

### Commit Format

除了合併分⽀、cherry-pick或Gitlab的Merge request以外，git簽⼊的訊息請符合以下格式 `{type}: {subject} {body} {footer}`

* type: (必要) commit 的類別，參考下⽅Type List
* subject: (必要) commit的簡短描述
* body: (⾮必要) 若有需要時從第2⾏開始寫，針對此次commit內容的詳細說明
* footer: (⾮必要) 若為**fix**類別，**強烈建議**要加上issue編號，在gitlab上可⾃動追蹤, eg. #123

### Type List

* feat => 新功能或需求異動產⽣
* fix => 因為bug或issue⽽產⽣的調整
* refactor => 不影響功能的修改,但仍有bug發⽣的可能, eg. code style, project arch
* doc => 加上註解或md檔等⽂件，不影響程式，不會有bug發⽣的可能
* perf => 為了調整效能需求產⽣
* chore => 套件版本更新 或是 部署到某個環境產⽣，包含CICD的yml檔，Dockerfile等不影響系統程式的修改
* revert => 撤銷 commit
* test => 單元測試相關

### Example

* feat: complete dataset add api&#x20;
* fix: data miss problem, issue #1234&#x20;
* test: add test for api /api/v1/test.add&#x20;
* chore: revise docker base image version

### 相關連結

* 藍星球 RD 開發流程（nas/blueplanet/藍星球RD開發流程.pptx）
