git提交也有規範,看下鹅廠是怎麼做的

臻大蝦 2021-09-19 18:38:27 阅读数:904

git 提交 也有 看下 做的

一、目的

無規矩不成方圓,當查看git提交曆史的時候,發現每個人git的提交記錄都有自己的風格和習慣,並沒有一套完整的規範,不利於閱讀和維護。所以需要一套git提交規範,使得提交記錄清晰明了,讓人一看就能知道此次提交的目的。

二、業界比較認可和常用的規範

AngularJS是目前使用最廣的一種規範,比較合理和系統,也有相應的工具和插件支持。圖片

規範結構:

三部分組成:header(關鍵)、body(可省略)、footer(可省略)

建議這三個部分,每個部分的字符都不要超過100字符,避免自動換行影響美觀

// 頭header
<type>(<scope>): <subject> 
// 空一行
<body>
// 空一行
<footer>

1、header(關鍵)

記錄主要的修改類型和內容

由三個部分組合:type(必填)、scope(可選)、subject(必填)

1.1、type

必填,message的類型,有以下幾種常用的類型

  • feat:提交新的功能,記憶:feature
  • fix:解决了bug
  • docs:修改的是文檔相關的內容,記憶:documentation
  • style:格式修改,沒有修改代碼邏輯,比如格式化、換行等
  • refactor:重構代碼,既沒有新增功能,也沒有修複bug,比如提取某段代碼為一個方法、重構某個功能
  • perf:性能、體驗優化等,記憶:performance性能
  • test:新增test用例或修改現有測試用例
  • chore:構建過程或輔助工具的變動,非src和test的修改,比如構建流程, 依賴管理等

當同時有feat、fix和其他類型時,類型取feat、fix。

1.2、scope

非必填,用於說明此次提交影響的範圍,比如數據層、控制層、視圖層等

1.3、subject

必填,此次提交的簡短描述

  • 動詞開頭,第一人稱現在時,比如add,而不用added、adds
  • 第一個字母小寫
  • 句尾不加句號(.)

2、body(可省略)

詳細的描述,可多行,與header之間空一行

3、footer(可省略)

footer只用於以下兩種情况

  • 不兼容變動

以BREAKING CHANGE開頭,後面是變動的描述、變動的理由以及遷移的方法

什麼叫不兼容變動,比如用戶密碼的加密方式發生改變

  • 關閉issue

當前提交修改了某個issue

整體的git message如下

feature(數據層): 簡短描述
詳細描述
BREAKING CHANGE: 不兼容變動
Closes 關閉issue

三、idea插件

知道了提交的規範,但是經常記不住格式怎麼辦?

這時强大的idea插件Git Commit Message Helper,真香

1、安裝

在settings->plugins,搜索Git Commit Message Helper,點擊install並重啟即可圖片

2、使用

在git提交頁面,點擊create commit message按鈕,彈出如下窗口,編輯之後,點擊ok

圖片

在以下彈窗輸入信息

圖片

提交的message如下

圖片


關注公眾號:臻大蝦,分享java後端技術幹貨,每天進步一點點

版权声明:本文为[臻大蝦]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210919183826555H.html