自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員如何通過插件規(guī)范 Git commit message 的提交?

開發(fā) 前端
有很多小伙伴就要問了,寫那么詳細(xì)有什么用?規(guī)范我們的提交記錄,主要是為了能追溯代碼歷史,很多時(shí)候我們自己寫的代碼在時(shí)間長(zhǎng)了以后都記不住,更不要說別人寫的代碼了,所以只能從流程和規(guī)范上面來幫助大家更好的記憶。

Git 相信大家在日常的工作中經(jīng)常會(huì)使用到,在我們完成一個(gè)需求開發(fā)或者 bug 修復(fù)的時(shí)候都會(huì)將變動(dòng)的代碼文件進(jìn)行 commit 提交到遠(yuǎn)程。

那么問題來了,仔細(xì)看下你的提交記錄,里面是不是有很多 test ,fix,update,add 等等絲毫看不出任何含義的 commit message。

commit message 的提交很多時(shí)候都只依賴開發(fā)人員的自我規(guī)范,而開發(fā)人員往往在需求緊急或者 bug 要及時(shí)修復(fù)的時(shí)候,根本不會(huì)花很多時(shí)間在寫 git commit message 的信息。而且就算是寫,每個(gè)人的風(fēng)格也不一樣,所以寫出來的 message 也不完全相同。

這個(gè)時(shí)候我們就需要有一套規(guī)范了,現(xiàn)在業(yè)界比較常用的規(guī)范是的格式是這樣的:type(scope):subject,下面我們?cè)敿?xì)來聊一下。

Type

type 代表的是提交內(nèi)容的一種類型,每一種類型都代表著不同的含義,具體的類型取值和含義如下:

  1. feat:表示開發(fā)一個(gè)新的需求特性;
  2. fix:表示修復(fù)一個(gè) bug;
  3. docs:表示是針對(duì)文檔的修改,并沒有修改代碼;
  4. style:格式修改,不影響代碼功能;
  5. refactor:不是進(jìn)行 feat 和 fix 的代碼修改,重構(gòu)功能;
  6. perf:提升性能的代碼修改;
  7. test:添加測(cè)試代碼或者修正已經(jīng)存在的測(cè)試功能代碼;
  8. build:修改會(huì)影響構(gòu)建或者依賴的代碼;
  9. ci:修改集成配置的文件或者腳本;
  10. chore:一些不夠影響到源碼和測(cè)試文件的修改;
  11. revert:針對(duì)之前的一個(gè)提交的 revert 修改;

對(duì)于我們來說在寫一個(gè) git commit 的時(shí)候,要搞清楚當(dāng)前提交的內(nèi)容的真正含義是什么,從而選擇正確的類型。此外還要求我們對(duì)于代碼的修改需要盡量細(xì)粒度,話句話說就是盡量將一個(gè)大的改動(dòng)進(jìn)行拆分,根據(jù)適當(dāng)?shù)那闆r進(jìn)行 git 提交,避免一次性提交太多的改動(dòng)。

Scope

scope 表示的當(dāng)次 git 提交的內(nèi)容影響的范圍,這個(gè)范圍比較寬泛,比如可以是 DAO 層,Controller 層,或者是具有特定功能的比如 utils 工具模塊,權(quán)限模塊,數(shù)據(jù)模塊等等,只要能跟自己的項(xiàng)目掛上鉤,表達(dá)出修改的范圍就行,如果涉及到的范圍比較多的話,可以用 * 表示,并不強(qiáng)制要求。

Subject

subject 部分是最重要的 git commit message 的部分,也就是我們經(jīng)常要寫提交信息的部分,這一部分通常會(huì)一個(gè)言簡(jiǎn)意賅的信息描述,需要寫出我們改動(dòng)代碼的原因。

上面的 type,scope,subject 三個(gè)部分是我們常用的部分,不過有些規(guī)范將 git 的提交規(guī)范定義為 Header,Body 和 Footer 三個(gè)部分,而 type,scope,subject 三個(gè)屬于 Header 的部分。

擴(kuò)展

Header 部分也就是上面提到的三個(gè)部分,是每個(gè) git 提交的基礎(chǔ)內(nèi)容;Body 部分則是更加詳細(xì)的描述信息,用于完整記錄代碼的修改地方和邏輯;Footer 部分則會(huì)將本次提交的內(nèi)容與具體的需求或者缺陷相關(guān)聯(lián),比如對(duì)應(yīng)的需求地址是什么,或者修復(fù)的 Bug 缺陷是什么等。

IDEA 插件

上面的內(nèi)容不多,但是要記下來的還是很繁瑣的,特別是有時(shí)候我們很難記住所有的 type 類型,好在 IDEA 現(xiàn)在有一個(gè)插件,就是用來規(guī)范 git 提交模板的。

在 IDEA 的插件市場(chǎng)中安裝 git commit template,直接搜索安裝,然后重啟 IDEA 即可。

圖片圖片

安裝完成過后,在我們需求提交代碼的時(shí)候,會(huì)出現(xiàn)這個(gè)按鈕。

圖片圖片

點(diǎn)擊一下就可以看到下面這個(gè)頁(yè)面,其中 short description 就是我們上面提到的 subject,而 Long description 代表的就是 Body 部分,而下面的 Breaking changes 和 Closed issues 則代表的是 Footer 部分,在使用的過程中按需填入即可。

圖片圖片

總結(jié)

有很多小伙伴就要問了,寫那么詳細(xì)有什么用?規(guī)范我們的提交記錄,主要是為了能追溯代碼歷史,很多時(shí)候我們自己寫的代碼在時(shí)間長(zhǎng)了以后都記不住,更不要說別人寫的代碼了,所以只能從流程和規(guī)范上面來幫助大家更好的記憶。

責(zé)任編輯:武曉燕 來源: Java極客技術(shù)
相關(guān)推薦

2020-08-14 08:00:39

Git數(shù)據(jù)層控制層

2023-03-27 08:03:26

Git代碼控制層

2021-03-02 18:37:18

commit程序員公司

2020-05-12 14:57:06

git commit代碼前端

2010-03-22 09:32:42

自學(xué)編程

2021-12-20 07:31:19

Java ElasticSea搜索

2013-08-20 09:33:59

程序員

2023-10-12 18:00:34

Git系統(tǒng)命令

2018-07-10 10:45:00

規(guī)范Commit項(xiàng)目

2018-07-10 11:05:18

開發(fā)者技能命令

2020-03-02 15:15:37

程序員工資協(xié)議

2014-12-01 10:05:25

程序員

2014-07-14 11:28:41

2015-07-02 11:20:17

程序員代碼

2009-07-01 11:08:21

Firefox插件推薦

2011-05-13 14:34:02

程序員

2023-10-23 08:09:34

Chrome插件擴(kuò)展

2020-02-25 22:41:41

程序員技能開發(fā)者

2024-08-07 10:24:04

2023-10-26 18:05:37

Git命令差異
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)