1. 說(shuō)明
本文主要介紹使用 git commit 提交代碼時(shí)如何書(shū)寫(xiě) message,及 message 對(duì)應(yīng)規(guī)范,需嚴(yán)格遵循 message 規(guī)范。
2. message 提交格式
在執(zhí)行 git add 后,執(zhí)行 git commit 時(shí),代碼有變動(dòng),并需要特殊說(shuō)明更改內(nèi)容時(shí),message 信息遵循下方定義的格式。(如沒(méi)有特殊更改及說(shuō)明可以使用:git commit -m <message> 提交代碼)
message 格式
<type>(<scope>): <subject>
<!-- 空行 -->
<body>
<!-- 空行 -->
<footer>
| 字段 | 必須 | 說(shuō)明 |
|---|---|---|
*<type>
|
是 | 提交類別 |
<scope> |
否 | 用于說(shuō)明 commit 影響的范圍,建議填寫(xiě)影響的功能模塊 |
*<subject>
|
是 | commit 目的的簡(jiǎn)短描述,不超過(guò)50個(gè)字符 |
<body> |
否(建議填寫(xiě)) | 描述當(dāng)前修改的行為詳細(xì)信息或修改的目的。 |
<footer> |
否 | 一般用于描述BREAKING CHANGE,在項(xiàng)目開(kāi)發(fā)中一般不需要填寫(xiě),組件研發(fā)的工程需要填寫(xiě)。 |
2.1 *<type> 提交類別
必填,<type> 在 commit 的 message 中是必須存在的。<type>可以有以下取值
| 值 | 說(shuō)明 |
|---|---|
| feat | 添加新特性 |
| fix | 修復(fù)bug |
| docs | 僅僅修改了文檔 |
| style | 僅僅修改了空格、格式縮進(jìn)、逗號(hào)等等,不改變代碼邏輯 |
| refactor | 代碼重構(gòu),沒(méi)有添加新功能或者修復(fù)bug |
| test | 增加測(cè)試用例 |
| chore | 改變構(gòu)建流程、或者增加依賴庫(kù)、工具等 |
| revert | 回滾到上一個(gè)版本 |
2.2 <scope> 影響范圍
非必填(建議填寫(xiě)),<scope> 用于說(shuō)明 commit 影響的范圍,建議填寫(xiě)影響的功能模塊。
如果修改影響不止一個(gè) scope,可以使用 * 代替
2.3 *<subject> 簡(jiǎn)短描述
必填,commit 目的的簡(jiǎn)短描述,不超過(guò)50個(gè)字符
- 以動(dòng)詞開(kāi)頭,使用第一人稱現(xiàn)在時(shí),比如
change,而不是changed或changes - 第一個(gè)字母小寫(xiě)
- 結(jié)尾不加句號(hào)
2.4 <body> 詳細(xì)信息
非必填(建議填寫(xiě)),可描述當(dāng)前修改的行為詳細(xì)信息或修改的目的
2.5 <footer> 其他信息
非必填,一般用于描述BREAKING CHANGE,在項(xiàng)目開(kāi)發(fā)中一般不需要填寫(xiě),組件研發(fā)的工程需要填寫(xiě)。
格式:以BREAKING CHANGE開(kāi)頭,后面是對(duì)變動(dòng)的描述,以及變動(dòng)理由和遷移方法。
3. 提交方式
本質(zhì)上是改變文件 .git/COMMIT_EDITMSG 中的文本,實(shí)際提交過(guò)程如下(推薦命令行提交)
feat(網(wǎng)盤(pán)):添加文件上傳接口
- 添加批量文件上傳
- 添加生成文件臨時(shí)下載地址
3.1 命令行提交
Window
window 系統(tǒng)下默認(rèn) git 編輯工具是 vim,如無(wú)相關(guān)基礎(chǔ),建議使用 window 默認(rèn)的文本編輯器(vim 使用方法)
修改 git 默認(rèn)文本編輯器(cmd/PowerShell 命令行中執(zhí)行)
git config core.editor notepad
修改后執(zhí)行 git commit 會(huì)彈出文本編輯器。
熱后保存并關(guān)閉,或執(zhí)行如下信息:
Linux/Unix
參考: vim 使用方法
Mac
參考:vim 使用方法
3.2 GUI 提交
IEDA
