git commit 使用及規(guī)范

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,而不是changedchanges
  • 第一個(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ì)有如下信息:

commit.png

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ì)有如下信息:

commit.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Git使用教程:https://blog.csdn.net/tgbus18990140382/article/de...
    SkTj閱讀 2,815評(píng)論 1 11
  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個(gè)開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,576評(píng)論 0 13
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,708評(píng)論 4 54
  • Add & Commit git init 初始化一個(gè) Git 倉庫(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 4,884評(píng)論 0 9
  • IOC 容器中 Bean 的生命周期方法: Spring IOC 容器可以管理Bean 的生命周期Spring 允...
    極客_Ls閱讀 738評(píng)論 0 0