寫在前面
經常看到別人提交的程式碼記錄裡面包含一些 feat、fix、chore 等等,而我在提交時也不會區分什麼,直接寫下提交資訊,今天就來看一下怎麼回事,就拿 element-plus 來舉例看一下。
其實這麼寫是一種程式碼提交規範,當然不是為了炫技,主要目的是為了提高提交記錄的可讀性和自動化處理能力。
當然如果團隊沒有要求,不這麼寫也可以。

git 提交規範
commit message = subject + :+ 空格 + message 主體
例如: feat::增加使用者註冊功能
常見的 subject 種類以及含義如下:
- feat: 新功能(feature)
用於提交新功能。
例如:feat: 增加使用者註冊功能
- fix: 修復 bug
用於提交 bug 修復。
例如:fix: 修復登入頁面崩潰的問題
- docs: 文件變更
用於提交僅文件相關的修改。
例如:docs: 更新 README 檔案
- style: 程式碼風格變動(不影響程式碼邏輯)
用於提交僅格式化、標點符號、空白等不影響程式碼運行的變更。
例如:style: 刪除多餘的空行
- refactor: 程式碼重構(既不是新增功能也不是修復 bug 的程式碼更改)
用於提交程式碼重構。
例如:refactor: 重構使用者驗證邏輯
- perf: 效能優化
用於提交提升效能的程式碼修改。
例如:perf: 優化圖片載入速度
- test: 新增或修改測試
用於提交測試相關的內容。
例如:test: 增加使用者模組的單元測試
- chore: 雜項(建構過程或輔助工具的變動)
用於提交建構過程、輔助工具等相關的內容修改。
例如:chore: 更新相依函式庫
- build: 建構系統或外部相依項的變更
用於提交影響建構系統的更改。
例如:build: 升級 webpack 到版本 5
- ci: 持續整合設定的變更
用於提交 CI 設定檔和腳本的修改。
例如:ci: 修改 GitHub Actions 設定檔
- revert: 回滾
用於提交回滾之前的提交。
例如:revert: 回滾 feat: 增加使用者註冊功能
總結
使用規範的提交訊息可以讓專案更加模組化、易於維護和理解,同時也便於自動化工具(如發佈工具或 Changelog 生成器)解析和處理提交記錄。
透過編寫符合規範的提交訊息,可以讓團隊和協作者更好地理解專案的變更歷史和版本控制,從而提高程式碼維護效率和品質。