Git提交規范是一種約定俗成的提交信息編寫標準,旨在使代碼倉庫的提交歷史更加清晰、可讀和有組織。以下是常見的Git提交類型及其對應的提交模板:
提交信息的基本結構
一個標準的Git提交信息通常包含以下三個主要部分:
- Header?:描述提交類型和簡短說明,是必填項。?
- Body?:詳細說明修改內容(如動機、實現細節),是可選項。
- Footer?:關聯Issue、描述破壞性變更(BREAKING CHANGE)等,是可選項。
提交信息的基本結構名詞解釋
- 作用域(scope)?:描述影響范圍,通常是模塊、組件或功能點的名稱。
- 提交描述(subject)?:應該簡潔明了,使用祈使語氣,首字母小寫,長度建議不超過50個字符。
- 詳細描述(body)?:在更復雜的提交中,可以添加詳細的變更描述,解釋為什么要做這個變更,以及與之前行為的對比。每行不超過72個字符,避免自動換行問題。
- 頁腳(footer)?:通常用于關聯Issue、說明重大變更或標注破壞性變更。
- 通過遵循這些提交規范和模板,可以使團隊的Git提交歷史更加清晰、可讀,并促進協作和代碼管理。
常見的提交類型及模板
1.feat?:新功能(feature)
?模板?:
feat(<scope>): <subject><body>
<footer>
示例
feat(user-login): 新增短信驗證登錄功能實現了短信驗證登錄功能,用戶可以通過輸入手機號和驗證碼進行登錄。
Closes #123
2. fix?:修復bug
?模板?:
fix(<scope>): <subject><body>
<footer>
示例
fix(payment-module): 修復支付超時bug修復了支付模塊中的支付超時問題,提高了支付成功率。
Fixes #456
3. docs?:文檔變更
模板?:
docs(<scope>): <subject><body>
<footer>
示例
docs(API): 更新用戶模塊接口文檔更新了用戶模塊接口文檔,補充了getUserInfo接口的權限說明,并修正了createUser的請求體示例格式。
4. style?:代碼格式調整(不影響代碼功能)
模板?:
style(<scope>): <subject><body>
<footer>
示例
style: 調整首頁按鈕間距調整了首頁按鈕的間距,使頁面布局更加美觀。
4.refactor?:重構代碼(不添加新功能也不修復bug)
模板?:
refactor(<scope>): <subject><body>
<footer>
示例
refactor(cart): 解耦商品價格計算邏輯將商品價格計算邏輯從ShoppingCartService移至獨立的PriceCalculator類,提高了代碼的可測試性和可維護性。
6. ?test?:添加或修改測試
模板?:
test(<scope>): <subject><body>
<footer>
示例
test(user-service): 添加登錄失敗用例添加了登錄失敗用例,覆蓋了密碼錯誤、賬號鎖定等場景,使用Jest模擬Redis服務。
7. chore?:其他雜項事務,如更新構建工具等
模板?:
chore(<scope>): <subject><body>
<footer>
示例
chore: 升級Webpack至5.75版本升級了Webpack至5.75版本,修復了tree-shaking對lodash的兼容性問題,并優化了構建產物哈希生成策略。