1. 程式人生 > 其它 >git 程式碼提交規範

git 程式碼提交規範

原文件:https://www.jianshu.com/p/ff4f98695c2c

git commit 使用說明
1 概述
git提交推薦使用命令列工具,請嚴格遵循提交格式。

2 提交格式
在您git add後,推薦執行git commit進行提交,如無特殊描述資訊要新增,也可以git commit -m 進行提交。

要求提交格式如下:

():

type表示提交類別,scope表示修改範圍,subject表示標題行, body表示主體描述內容。

2.1 type說明
type在commit的是否必須存在。

feat: 新增新特性
fix: 修復bug
docs: 僅僅修改了文件
style: 僅僅修改了空格、格式縮排、逗號等等,不改變程式碼邏輯
refactor: 程式碼重構,沒有加新功能或者修復bug
perf: 優化相關,比如提升效能、體驗
test: 增加測試用例
chore: 改變構建流程、或者增加依賴庫、工具等
revert: 回滾到上一個版本
2.2 scope說明
非必填(建議填寫),scope用於說明 commit 影響的範圍,建議填寫影響的功能模組。

如果你的修改影響了不止一個scope,你可以使用*代替。

2.3 subject說明
必填, commit 目的的簡短描述,不超過50個字元。

以動詞開頭,使用第一人稱現在時,比如change,而不是changed或changes
第一個字母小寫
結尾不加句號
2.4 body說明
非必填(建議填寫),可描述當前修改的行為詳細資訊或修改的目的。

2.5 footer說明
非必填,一般用於描述BREAKING CHANGE,在專案開發中一般不需要填寫,元件研發的工程需要填寫。

格式:以BREAKING CHANGE開頭,後面是對變動的描述、以及變動理由和遷移方法。

3 提交方式
如上2所示格式,本質上是改變檔案 .git/COMMIT_EDITMSG

中的文字,實際提交過程如下(推薦命令列提交):

3.2 cmd(notepad)
window系統下預設git編輯工具是vim,如無相關基礎,建議使用window預設的文字編輯器(這裡不贅述vim相關編輯方法)。

修改git預設文字編輯器: git config core.editor notepad

修改後執行git commit,會彈出文字編輯器。

我們要按照規定的格式在註釋前加入要提交的commit資訊:

feat(人員新增): 增加人員批量匯入

  • 增加批量報盤功能
  • 增加人員報盤後結果查詢功能
  • 修改人員新增佈局

然後儲存並關閉,會提示如下資訊:

[master 756c07e] feat(人員新增): 增加人員批量匯入
1 file changed, 2 insertions(+)

在push完成後,gitlab的commit列表中會有如下資訊:

commit.png
3.2 shell(GNU nano)提交方式
在您執行git commit後,命令列會有如下顯示:

projectRoot/.git/COMMIT_EDITMSG

請為您的變更輸入提交說明。以 '#' 開始的行將被忽略,而一個空的提交

說明將會終止提交。

位於分支 master

您的分支與上游分支 'origin/master' 一致。

要提交的變更:

修改: CHANGELOG.md

未跟蹤的檔案:

.idea/

                        [ 已讀取 13 行 ]

^G 求助 ^O 寫入 ^W 搜尋 ^K 剪下文字 ^J 對齊 ^C 遊標位置
^X 離開 ^R 讀檔 ^\ 替換 ^U 還原剪下 ^T 拼寫檢查 ^_ 跳行

如上所示,我們要按照規定的格式在註釋前加入要提交的commit資訊:

feat(人員新增): 增加人員批量匯入

  • 增加批量報盤功能
  • 增加人員報盤後結果查詢功能
  • 修改人員新增佈局

輸入完成後,根據快捷鍵提示,按ctrl + O,然後出現要修改的MSG檔名,按回車鍵。此時提示如下:

[ 已寫入 19 行 ]

最後按ctrl + X提交完成,提示如下:

[master 756c07e] feat(人員新增): 增加人員批量匯入
1 file changed, 2 insertions(+)

在push完成後,gitlab的commit列表中會有如下資訊: