實際工作中 Git Commit 代碼提交規范是什么樣的?
前言
Git 是我們日常工作中使用最為廣泛的分布式版本代碼控制系統,因此在我們的實際工作中,git commit
代碼提交規范能夠讓每一次代碼提交都變得有據可循,方便后續的代碼審查、問題追蹤和版本管理。同時,規范的提交信息也能夠為自動化工具提供便利,如生成變更日志、自動化部署等。
git commit 規范寫法示例
首先我們一起來看看行業統一認可且標準的 angular 項目的 git commit
規范寫法。
基本格式
首先一個規范的 git commit message
通常包含 Header、Body 和 Footer 三部分,各部分之間使用空行分隔。
<header>
// 空一行
<body>
// 空一行
<footer>
Header 必填
描述提交類型和簡短說明。格式為:<類型>(<作用域>): <主題>
(<type>(<scope>): <subject>
)。
- 類型(Type): 必填,指明本次提交的目的,如 feat 表示新開發的功能(feature)、fix 表示修復 bug、refactor 表示代碼重構等。
- 作用域(Scope): 可選,描述修改的影響范圍,如模塊名、功能名等,視項目不同而不同。
- 主題(Subject): 必填,是 commit 簡明扼要的提交描述。長度建議不超過 50 個字符。
feat(payment): 微信支付功能集成
Body 可選
詳細說明本次 commit 修改的內容。使用空行分隔段落,保持可讀性。
- 新增微信支付SDK依賴
- 實現支付結果回調處理
- 添加支付相關的單元測試
Footer 可選
主要用于關聯 Issue、描述破壞性變更(BREAKING CHANGE)等。
Closes #889
BREAKING CHANGE: 舊版支付回調接口已廢棄,需遷移至 /api/v2/callback
實際工作常用的 git commit 規范寫法
其實在實際開發工作中很多時候我們主要關注和使用的是 git commit message
的 Header 部分。Header 通常包含了提交的類型、作用域和簡短的主題描述,這些信息對于快速了解每次提交的內容和目的已經足夠。
描述提交類型和簡短說明。格式為:<類型>(<作用域>): <主題>
。
格式:type(scope) : subject
常用的提交類型包括
提交類型 | 描述 | 示例 |
feat | 新功能增加(feature) | feat: add user login feature |
fix | 修復BUG | fix: correct user authentication |
refactor | 代碼重構(既不是新增功能,也不是修復 Bug) | refactor: simplify user validation logic |
docs | 文檔/注釋 | docs: update API documentation |
style | 代碼風格相關無影響運行結果的 | style: format code with prettier |
test | 測試相關 | test: add unit tests for login feature |
build | 影響構建系統或外部依賴的更改(例如:gulp,broccoli,npm) | build: update webpack config |
revert | 代碼撤銷修改 | revert: revert commit 12345abc |
ci | 持續集成的配置文件和腳本的變動(例如:Travis,Circle,BrowserStack,SauceLabs) | ci: update Travis configuration |
chore | 依賴更新/腳手架配置修改等 | chore: upgrade React to the latest version |
perf | 性能優化 | perf(core): optimize virtual DOM diffing algorithm |