1. 程式人生 > 其它 >git commit message 規範

git commit message 規範

Angular提交資訊規範

目前最受開發人員肯定的規範是前端框架Angular提出的Angular提交資訊規範

提交格式:

Commit Message 包含三個部分,分別是Header、Body、Footer

<type>(<scope>): <subject> 
<BLANK LINE>
<body> 
<BLANK LINE>
<footer>

Angular 規範解讀:

其中,Header (第一行)的資訊是必須的,其他行資訊可以省略;
第一行資料中,type(必選)、scope(可選)、subject(必選),即
其中(<scope>)

也是可以省略的;未省略(<scope>)時,其中的()是不可省略的,<type>(<scope>): 冒號後必須緊跟空格;
在實際開發中,為使得 Commit Message 更為易讀;我們往往會限制每行 message 的長度,
常規的限制為 50/72/100 個字元,這裡可根據實際情況選用;

Header 該主題包含對更改的簡潔描述:

使用命令式,現在時:“change”不是“changed”也不是“changes”
不要大寫第一個字母
末尾沒有點 (.)

Body

應包括改變的動機,並將其與以前的行為進行對比。

應包含有關重大更改的任何資訊,也是引用此提交關閉的 GitHub 問題的地方。

Type

build 影響構建系統或外部依賴項的更改
feat 新增功能
fix Bug修復
perf 程式碼效能優化
style 程式碼格式類的變更,格式美化、空格刪除等
refactor 其他程式碼類的修改,這些變更不屬於 feat、fix、perf 和 style,例如簡化程式碼、重新命名變數、刪除冗餘程式碼等
test 新增測試用例或是更新現有測試用例
ci 持續整合和部署相關的改動,比如修改 Jenkins、GitLab CI 等 CI配置檔案等
docs 文件類修改,使用者文件或開發文件等
chore 其他型別修改,比如構建流程、依賴管理或者輔助工具的變動等

簡單理解

程式碼類修改:有4種具有明確變更意圖的型別:feat、fix、perf、style
如果我們的程式碼不屬於這4類,那程式碼修改都可以歸屬到 refactor 類,即優化程式碼

簡單版的提交示例

git commit -m "feat: user 鑑權"
git commit -m "fix(user): user 許可權誤判"