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