前言
Git 是目前世界上最先進的分布式版本控制系統(沒有之一)。
Git 每次提交代碼時,都需要寫 Commit Message (提交說明),否則就不允許提交。
$ git commit -m '第一次提交'
在工作中一份清晰簡介規范的 Commit Message 能讓后續代碼審查、信息查找、版本回退都更加高效可靠。
Commit Message 的標準格式
Commit Message 標準格式包括三個部分:Header,Body,Footer
其中,Header 是必需的,Body 和 Footer 可以省略
一、Header
Header 部分只有一行,包括三個字段:type(必需)、scope(可選)、subject(必需)
1. type
用于說明類型。可分以下幾種類型
2. scope
用于說明影響的范圍,比如數據層、控制層、視圖層等等。
3. subject
主題,簡短描述。一行
二、Body
對 subject 的補充。可以多行。
三、Footer
主要是一些關聯 issue 的操作。
四、Commitizen
Commitizen 是一個撰寫符合上面 Commit Message 標準的一款工具。
一、安裝
全局安裝
1. 下載
npm install -g commitizen cz-conventional-changelog
2. 創建 ~/.czrc 文件,寫入如何內容
{ "path": "cz-conventional-changelog" }
3. 這時就可以全局使用 git cz 命令來代替 git commit 命令了
項目局部使用
1. 下載 commitizen
npm install --save-dev commitizen
2. 配置,打開項目的 package.json 文件,配置如下。
{
"scripts": {
"commit": "git-cz",
},
"config": {
"commitizen": {
"path": "node_modules/cz-conventional-changelog"
}
}
}
3. 這時就可以使用 npm run commit 腳本了
二、使用
全局安裝使用 git cz 來代替 git commit
局部安裝使用 npm run commit 腳本來代替 git commit
三、詳細步驟說明
1. 選擇此次提交的類型
注意:不要使用 git bash (不能進行鍵盤上下選擇)
2. 輸入這次提交的影響范圍
如沒有,可直接回車跳過
3. 輸入這次提交的主題
注意:精簡,字數限制。不可跳過
4. 輸入這次提交的詳細描述
如沒有,可直接回車跳過
5. 這次提交是否有突破性變化(是否不向下兼容)
注意:如果輸入 y ,會有新的提示
6. 這次提交是否有關聯的 issues
注意:如果輸入 y ,會有新的提示
7. 完成
8. 查看日志