偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

在使用Git時(shí)你應(yīng)該這樣提交代碼

系統(tǒng)
目前業(yè)內(nèi)做的比較好的,比較具有參考價(jià)值的就是知名前端框架AngularJS的提交規(guī)范。

 [[377604]]

1. 前言

目前大部分公司都在使用 Git 作為版本控制,每個(gè)程序員每天都要進(jìn)行代碼的提交。很多開(kāi)發(fā)者也包括我自己,有時(shí)候趕時(shí)間或者圖省事,就這么提交:

  1. git commit -m "修改bug,優(yōu)化代碼" 

過(guò)了一段,突然去查找一個(gè)具體的提交你會(huì)發(fā)現(xiàn)不是特別好找。因此我們需要規(guī)范我們的代碼提交來(lái)避免這種情況。同時(shí)良好的提交規(guī)范也有助于我們生成清晰的 ChangeLog,更利于同事之間的協(xié)作。

如果你想成為知名開(kāi)源項(xiàng)目的貢獻(xiàn)者更要規(guī)范自己的代碼提交。

2. Git 提交規(guī)范

目前業(yè)內(nèi)做的比較好的,比較具有參考價(jià)值的就是知名前端框架AngularJS的提交規(guī)范。我們先來(lái)看一個(gè)例子:

Git提交信息

對(duì)應(yīng)的格式:

  1. <type>[optional scope]: <description> 
  2. # 空行 
  3. [optional body] 
  4. # 空行 
  5. [optional footer] 

更嚴(yán)格的項(xiàng)目可能提交要求使用英文描述,特別是國(guó)際化的開(kāi)源項(xiàng)目。

根據(jù)上面這個(gè)例子我們來(lái)了解一下這個(gè)業(yè)界比較認(rèn)可的 Git 提交規(guī)范。

type

refactor 表示本次提交的是重構(gòu)代碼,也就是它是一個(gè)提交的類型type,除了refactor還有:

  • feat 新功能,顧名思義就是新需求的實(shí)現(xiàn)。
  • fix 修復(fù),就是對(duì) bug 的修復(fù)。
  • docs 文檔,主要用來(lái)描述文檔的變更。
  • style 主要是代碼風(fēng)格相關(guān)的提交,比如格式化等。
  • refactor 重構(gòu)代碼,對(duì)已有功能的重構(gòu),但是區(qū)別于 bugfix。
  • test 測(cè)試相關(guān)的提交,不太常用。
  • chore 構(gòu)建過(guò)程或輔助工具的變動(dòng),不太常用,比如之前用 Maven,后面換成了 Gradle。

每次提交聲明提交的type是必須的,它讓本次提交的作用一目了然。

scope(可選)

用來(lái)表明本次提交影響的范圍,方便快速定位。你可以寫(xiě)明影響的是哪個(gè)模塊(通常是模塊名稱)或者是哪個(gè)層(數(shù)據(jù)層、服務(wù)層、還是視圖層)。

subject

就是上面的修改版權(quán)信息,是對(duì)本次提交的簡(jiǎn)短描述概括。就像胖哥寫(xiě)文章要起一個(gè)標(biāo)題一樣,不要過(guò)長(zhǎng)。

body(可選)

就是比較詳細(xì)描述本次提交涉及的條目,羅列代碼功能,這里胖哥習(xí)慣用markdown的列表語(yǔ)法,也就是用中劃線換行隔開(kāi)條目。當(dāng)然body不是必選的,如果subject能夠描述清楚的話。

foot(可選)

描述與本次提交相關(guān)聯(lián)的break change或issue 。

break change

指明本次提交是否產(chǎn)生了破壞性修改,類似版本升級(jí)、接口參數(shù)減少、接口刪除、遷移等。如果產(chǎn)生了上述的影響強(qiáng)烈建議在提交信息中寫(xiě)明break change,有利于出問(wèn)題時(shí)快速定位,回滾,復(fù)盤(pán)。

issue

如果發(fā)現(xiàn)項(xiàng)目有 bug、或者有優(yōu)化的建議、甚至新增一個(gè)任務(wù),就可以利用issue給項(xiàng)目提交一個(gè)任務(wù)。

Git issue

issue不是一些 Git 平臺(tái)的專屬功能,JIRA 等平臺(tái)也有類似功能,它們的作用大同小異,都可以很好地反應(yīng)項(xiàng)目的成長(zhǎng)狀況和參與度。那么在 Git 提交時(shí),我們可以在foot區(qū)域關(guān)聯(lián)本次提交涉及的issue。

  1. # 涉及issues 
  2. issues  #F12YC,#F45JW 
  3. # 關(guān)閉 
  4. Closes #F12YC 

這里沒(méi)有固定格式,不過(guò)盡量去參考一些知名項(xiàng)目去做。

3. 工具安利

說(shuō)了這么多,相信你已經(jīng)對(duì) Git 提交的規(guī)范有所了解了。這里推薦一些有用的工具來(lái)幫助你將這些規(guī)范落實(shí)到位。在Intellij IDEA的插件市場(chǎng)有很多 Git Commit Message 模板插件,可以可視化的實(shí)現(xiàn)這些規(guī)范。

Git提交信息插件

本文轉(zhuǎn)載自微信公眾號(hào)「碼農(nóng)小胖哥」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系碼農(nóng)小胖哥公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 碼農(nóng)小胖哥
相關(guān)推薦

2022-04-28 09:02:55

Gitcommitlint配置

2020-11-12 11:55:57

代碼GitJava

2024-04-08 08:37:41

代碼githook

2020-11-02 08:21:50

Git辦法代碼

2021-01-04 13:25:10

Git開(kāi)源工具

2022-09-23 14:44:31

前端huskyeslint

2009-09-14 09:40:48

微軟Linux代碼

2014-12-18 09:49:31

代碼

2022-10-27 09:34:06

git撤銷

2012-02-24 09:34:48

SVNGit

2014-09-23 09:40:09

2019-12-04 09:05:15

千萬(wàn)級(jí)流量高并發(fā)

2019-09-19 09:18:02

API網(wǎng)關(guān)互聯(lián)網(wǎng)

2018-07-10 11:05:18

開(kāi)發(fā)者技能命令

2018-07-10 10:45:00

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

2013-07-26 11:28:08

Git

2020-02-20 10:45:57

代碼JS開(kāi)發(fā)

2019-03-28 14:30:21

代碼開(kāi)發(fā)命令

2011-09-05 17:12:17

2022-11-04 08:22:14

編譯代碼C語(yǔ)言
點(diǎn)贊
收藏

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