git commit 使用說明
1 概述
git提交推薦使用命令行工具,請(qǐng)嚴(yán)格遵循提交格式。
2 提交格式
在您git add
后,推薦執(zhí)行git commit
進(jìn)行提交,如無特殊描述信息要添加,也可以git commit -m <mess>
進(jìn)行提交。
要求提交格式如下:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
type表示提交類別,scope表示修改范圍,subject表示標(biāo)題行, body表示主體描述內(nèi)容。
2.1 type說明
type在commit的是否必須存在。
- feat: 添加新特性
- fix: 修復(fù)bug
- docs: 僅僅修改了文檔
- style: 僅僅修改了空格、格式縮進(jìn)、逗號(hào)等等,不改變代碼邏輯
- refactor: 代碼重構(gòu),沒有加新功能或者修復(fù)bug
- perf: 優(yōu)化相關(guān),比如提升性能、體驗(yàn)
- test: 增加測試用例
- chore: 改變構(gòu)建流程、或者增加依賴庫、工具等
- revert: 回滾到上一個(gè)版本
2.2 scope說明
非必填(建議填寫),scope用于說明 commit 影響的范圍,建議填寫影響的功能模塊。
如果你的修改影響了不止一個(gè)scope
,你可以使用*
代替。
2.3 subject說明
必填, commit 目的的簡短描述,不超過50個(gè)字符。
- 以動(dòng)詞開頭,使用第一人稱現(xiàn)在時(shí),比如
change
,而不是changed
或changes
- 第一個(gè)字母小寫
- 結(jié)尾不加句號(hào)
2.4 body說明
非必填(建議填寫),可描述當(dāng)前修改的行為詳細(xì)信息或修改的目的。
2.5 footer說明
非必填,一般用于描述BREAKING CHANGE,在項(xiàng)目開發(fā)中一般不需要填寫,組件研發(fā)的工程需要填寫。
格式:以BREAKING CHANGE
開頭,后面是對(duì)變動(dòng)的描述、以及變動(dòng)理由和遷移方法。
3 提交方式
如上2所示格式,本質(zhì)上是改變文件 <u>.git/COMMIT_EDITMSG</u> 中的文本,實(shí)際提交過程如下(推薦命令行提交):
3.2 cmd(notepad)
window系統(tǒng)下默認(rèn)git編輯工具是vim,如無相關(guān)基礎(chǔ),建議使用window默認(rèn)的文本編輯器(這里不贅述vim相關(guān)編輯方法)。
修改git默認(rèn)文本編輯器: git config core.editor notepad
修改后執(zhí)行git commit
,會(huì)彈出文本編輯器。
我們要按照規(guī)定的格式在注釋前加入要提交的commit信息:
feat(人員新增): 增加人員批量導(dǎo)入
- 增加批量報(bào)盤功能
- 增加人員報(bào)盤后結(jié)果查詢功能
- 修改人員新增布局
然后保存并關(guān)閉,會(huì)提示如下信息:
[master 756c07e] feat(人員新增): 增加人員批量導(dǎo)入
1 file changed, 2 insertions(+)
在push完成后,gitlab的commit列表中會(huì)有如下信息:
3.2 shell(GNU nano)提交方式
在您執(zhí)行git commit
后,命令行會(huì)有如下顯示:
projectRoot/.git/COMMIT_EDITMSG
# 請(qǐng)為您的變更輸入提交說明。以 '#' 開始的行將被忽略,而一個(gè)空的提交
# 說明將會(huì)終止提交。
#
# 位于分支 master
# 您的分支與上游分支 'origin/master' 一致。
#
# 要提交的變更:
# 修改: CHANGELOG.md
#
# 未跟蹤的文件:
# .idea/
#[ 已讀取 13 行 ]
^G 求助 ^O 寫入 ^W 搜索 ^K 剪切文字 ^J 對(duì)齊 ^C 游標(biāo)位置
^X 離開 ^R 讀檔 ^\ 替換 ^U 還原剪切 ^T 拼寫檢查 ^_ 跳行
如上所示,我們要按照規(guī)定的格式在注釋前加入要提交的commit信息:
feat(人員新增): 增加人員批量導(dǎo)入
- 增加批量報(bào)盤功能
- 增加人員報(bào)盤后結(jié)果查詢功能
- 修改人員新增布局
輸入完成后,根據(jù)快捷鍵提示,按ctrl + O
,然后出現(xiàn)要修改的MSG文件名,按回車鍵。此時(shí)提示如下:
[ 已寫入 19 行 ]
最后按ctrl + X
提交完成,提示如下:
[master 756c07e] feat(人員新增): 增加人員批量導(dǎo)入
1 file changed, 2 insertions(+)
在push完成后,gitlab的commit列表中會(huì)有如下信息: