git commit 使用說明
1 概述
git提交推薦使用命令行工具,請嚴格遵循提交格式涯竟。
2 提交格式
在您git add
后握截,推薦執(zhí)行git commit
進行提交,如無特殊描述信息要添加竞端,也可以git commit -m <mess>
進行提交。
要求提交格式如下:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
type表示提交類別庙睡,scope表示修改范圍,subject表示標題行技俐, body表示主體描述內(nèi)容乘陪。
2.1 type說明
type在commit的是否必須存在。
- feat: 添加新特性
- fix: 修復bug
- docs: 僅僅修改了文檔
- style: 僅僅修改了空格雕擂、格式縮進啡邑、逗號等等,不改變代碼邏輯
- refactor: 代碼重構(gòu)井赌,沒有加新功能或者修復bug
- perf: 優(yōu)化相關(guān)谤逼,比如提升性能、體驗
- 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說明
非必填(建議填寫)户辱,可描述當前修改的行為詳細信息或修改的目的。
2.5 footer說明
非必填费封,一般用于描述BREAKING CHANGE焕妙,在項目開發(fā)中一般不需要填寫,組件研發(fā)的工程需要填寫弓摘。
格式:以BREAKING CHANGE
開頭焚鹊,后面是對變動的描述、以及變動理由和遷移方法。
3 提交方式
如上2所示格式末患,本質(zhì)上是改變文件 <u>.git/COMMIT_EDITMSG</u> 中的文本研叫,實際提交過程如下(推薦命令行提交):
3.2 cmd(notepad)
window系統(tǒng)下默認git編輯工具是vim,如無相關(guān)基礎(chǔ)璧针,建議使用window默認的文本編輯器(這里不贅述vim相關(guān)編輯方法)嚷炉。
修改git默認文本編輯器: git config core.editor notepad
修改后執(zhí)行git commit
,會彈出文本編輯器。
我們要按照規(guī)定的格式在注釋前加入要提交的commit信息:
feat(人員新增): 增加人員批量導入
- 增加批量報盤功能
- 增加人員報盤后結(jié)果查詢功能
- 修改人員新增布局
然后保存并關(guān)閉探橱,會提示如下信息:
[master 756c07e] feat(人員新增): 增加人員批量導入
1 file changed, 2 insertions(+)
在push完成后申屹,gitlab的commit列表中會有如下信息:
3.2 shell(GNU nano)提交方式
在您執(zhí)行git commit
后,命令行會有如下顯示:
projectRoot/.git/COMMIT_EDITMSG
# 請為您的變更輸入提交說明隧膏。以 '#' 開始的行將被忽略哗讥,而一個空的提交
# 說明將會終止提交。
#
# 位于分支 master
# 您的分支與上游分支 'origin/master' 一致胞枕。
#
# 要提交的變更:
# 修改: CHANGELOG.md
#
# 未跟蹤的文件:
# .idea/
#[ 已讀取 13 行 ]
^G 求助 ^O 寫入 ^W 搜索 ^K 剪切文字 ^J 對齊 ^C 游標位置
^X 離開 ^R 讀檔 ^\ 替換 ^U 還原剪切 ^T 拼寫檢查 ^_ 跳行
如上所示杆煞,我們要按照規(guī)定的格式在注釋前加入要提交的commit信息:
feat(人員新增): 增加人員批量導入
- 增加批量報盤功能
- 增加人員報盤后結(jié)果查詢功能
- 修改人員新增布局
輸入完成后,根據(jù)快捷鍵提示腐泻,按ctrl + O
决乎,然后出現(xiàn)要修改的MSG文件名,按回車鍵派桩。此時提示如下:
[ 已寫入 19 行 ]
最后按ctrl + X
提交完成构诚,提示如下:
[master 756c07e] feat(人員新增): 增加人員批量導入
1 file changed, 2 insertions(+)
在push完成后,gitlab的commit列表中會有如下信息: