# Git branch naming and commit message rule ###### tags: `工程師手冊` > - Commit message - [Karma](http://karma-runner.github.io/2.0/dev/git-commit-msg.html) ### branch 格式 - branch name: `<type>/<任務卡號>` - e.g. `feature/123` ### commit 格式 ```bash $ git commit "type(scope): message" ``` ## 說明 - `type`: Commit 的類型,有以下幾種選擇 - feat - 功能性變更,給前端的功能新增變更等等 - fix - bug 修正 - docs - API 文件或註解增改 - festyle - 修正程式碼排版 (縮排或補齊分號等),沒有功能變更 - refactor - 程式重寫,功能不改動 - test - 增改測試項目 - chore - 程式碼部署相關工作 (GCP/AWS 腳本等),沒有功能變更 - `scope`: Commit 所包含的範圍,有以下幾種寫法 ```bash /user/addUser - 改了某個 controller、直接寫相對應的 route service.cart::removeFromCart - 改了某個 service、寫上 service 跟 method appspec.yml - 就是只有改了某個檔案 ``` 也因此,每個 commit 都盡量對到每個 task 可以分的**最小單位** - `message`: Commit 描述,簡潔就好 - 範例: ```bash $ git commit -m "feat(/cart/getAllItem): changed response payload" # or $ git commit -m "chore(appspec.yml): updated for BitBucket deployment pipeline" ```