[TOC] #### 1. 前言 --- 每個(gè)人 git 的提交記錄都有自己的風(fēng)格和習(xí)慣,特別是多人協(xié)作開發(fā)的項(xiàng)目,如果沒有一套完整的規(guī)范,則每個(gè)人的代碼提交描述內(nèi)容會(huì)很隨意,質(zhì)量參差不齊,會(huì)降低 log 的可讀性和維護(hù)性。所以,需要有一套 git 提交規(guī)范,使得提交記錄清晰明了,讓人一看就能知道每次提交的目的。本文記錄一種業(yè)界比較認(rèn)可和常用的規(guī)范,來(lái)自 AngularJS 團(tuán)隊(duì)規(guī)范 #### 2. 提交規(guī)范 --- 提交描述信息格式: `<type>(<scope>): <subject>` **type: 操作類型** | 類型 | 描述 | | ------------ | ------------ | | add | 新增功能 | | update | 更新功能 | | delete | 刪除功能 | | fix | 修復(fù) BUG | | refactor | 代碼重構(gòu) | | revert | 撤銷上次commit | | style | 代碼風(fēng)格更改 | | docs | 修改文檔相關(guān)內(nèi)容 | **scope: 影響范圍** 用于說明本次 commit 的影響范圍,比如: 具體功能或模塊,控制器層,業(yè)務(wù)層,模型層等,視項(xiàng)目不同而不同 ** subject: 簡(jiǎn)單描述** 本次 commit 的簡(jiǎn)單描述,一般不超過 50 個(gè)字符。推薦以動(dòng)詞開頭: 新增,修改,設(shè)置撤銷等等 **規(guī)范的提交信息示例:** ``` add(用戶模塊):新增用戶編輯個(gè)人資料功能 update(用戶模塊):修改用戶編輯個(gè)人資料不需要上傳頭像 delete(購(gòu)物車模塊):刪除購(gòu)物車批量刪除商品功能 fix(購(gòu)物車模塊):修復(fù)購(gòu)物車商品數(shù)量可以為負(fù)數(shù) refactor(全部):初始化系統(tǒng)架構(gòu) revert(用戶模塊):撤銷修改用戶編輯個(gè)人資料不需要上傳頭 style(會(huì)員中心):格式化代碼 docs(api):更新API文檔 ``` #### 3. 多行提交內(nèi)容 --- 多行提交內(nèi)容模板,我經(jīng)常使用的模板 ``` git commit -m "fix: 1、 2、 " ``` 在文本編輯器中寫好準(zhǔn)備執(zhí)行的提交命令,復(fù)制粘貼到命令行中執(zhí)行即可,如下所示: ``` git commit -m "fix:用戶模塊、購(gòu)物車模塊 1、修復(fù)用戶無(wú)法注冊(cè)功能 2、修復(fù)購(gòu)物車商品批量刪除報(bào)錯(cuò)問題 3、修復(fù)積分商城支付成功后訂單狀態(tài)沒有改變問題 " ```