??Git Commit 類型完整指南??
類型 | 用途 | 示例 |
---|---|---|
??feat ?? | 新增功能(面向用戶的功能性變更) | git commit -m "feat: 添加用戶登錄功能" |
??fix ?? | 修復 Bug(解決代碼中的問題) | git commit -m "fix: 修復首頁加載崩潰問題" |
??docs ?? | 文檔更新(README、注釋等) | git commit -m "docs: 更新 API 接口文檔" |
??style ?? | 代碼樣式調整(空格、格式化、分號等,??不改變邏輯??) | git commit -m "style: 調整縮進為 2 空格" |
??refactor ?? | 代碼重構(優化結構但無功能變化) | git commit -m "refactor: 提取支付邏輯到獨立模塊" |
??perf ?? | 性能優化(提升執行效率) | git commit -m "perf: 減少首屏渲染時間 200ms" |
??test ?? | 測試用例(單元測試、E2E 測試) | git commit -m "test: 添加用戶注冊流程測試" |
??build ?? | 構建工具或依賴變更(Webpack、npm 等) | git commit -m "build: 升級 Vue 到 3.2" |
??ci ?? | CI/CD 配置變更(GitHub Actions、Docker 等) | git commit -m "ci: 添加自動化部署流程" |
??chore ?? | 雜項任務(非代碼/文檔的改動,如更新腳本) | git commit -m "chore: 更新依賴版本" |
??revert ?? | 回滾之前的提交 | git commit -m "revert: 撤銷某次錯誤的合并" |
??進階用法??
1. ??添加范圍(Scope)??
指定影響的范圍(模塊、組件、文件等):
git commit -m "feat(login): 添加短信驗證碼登錄" git commit -m "fix(router): 修復路由重定向循環問題"
2. ??多行提交消息??
復雜變更可使用多行描述(第一行是摘要,空一行后寫詳情):
git commit -m "feat: 支持暗黑模式 > > - 新增主題切換組件 > - 添加全局樣式變量 > - 適配所有頁面組件"
3. ??關聯 Issue??
在消息中引用問題跟蹤(如 GitHub Issue):
git commit -m "fix: 解決滑動卡頓問題 (close #123)"
??為什么需要規范???
- ??自動化生成 CHANGELOG??(通過工具如?
standard-version
)。 - ??清晰的歷史記錄??:快速定位特定類型的變更。
- ??觸發語義化版本號(SemVer)??:
feat
?→ 次版本號?v1.2.0
fix
?→ 修訂號?v1.2.1
BREAKING CHANGE
?→ 主版本號?v2.0.0
??常見問題??
Q:拼寫錯誤怎么辦?
- 使用?
git commit --amend
?修改最后一次提交:git commit --amend -m "feat: 正確的提交消息"
Q:如何繞過 Husky 檢查?
- 添加?
--no-verify
(僅緊急情況下使用):git commit -m "xxx" --no-verify
??工具推薦??
- ??Commitizen??:交互式生成合規的提交消息
npx cz
- ??Commitlint??:檢查提交消息格式(你項目已配置)
規范提交消息能讓團隊協作更高效!