最近總結(jié)了一套git使用規(guī)范,這也是我們前端組在用的一套規(guī)范,希望對小伙伴們有所幫助!
1.分支使用規(guī)范
一個穩(wěn)定master分支
一個待發(fā)布的develop分支
若干個正在開發(fā)的feature分支 (分支名稱命名規(guī)則:feature/v+版本號)
可以使用gitlab進(jìn)行合并前的code review
如遇到線上有一般的bug,可在develop上切換出hotFix分支進(jìn)行bug修復(fù),完成后合并到develop上,等下次版本一起發(fā)布
如遇到線上有十分嚴(yán)重bug,應(yīng)在master上切換出hotFix分支進(jìn)行bug修復(fù),并驗(yàn)證好了后隨即合并到master上準(zhǔn)備發(fā)布
每次版本發(fā)布前或者發(fā)布后要給master增加tag并且和后臺tag號保持一致(tag標(biāo)簽命名規(guī)則:release-x.x.x)
2.commit規(guī)范
-
保證commit盡量只做一件事
-
書寫commit message言簡意賅
例:
docs(/api):add missing '$timeout' fix($config):middleWhere by rulestype
用于說明 commit 的類別,使用下面標(biāo)識。
- feat:新功能(feature)
- fix:修補(bǔ) bug
- docs:文檔(documentation)
- style:格式(不影響代碼運(yùn)行的變動)
- build:改變構(gòu)建流程,新增依賴庫、工具等(例如 webpack 修改);
- refactor:重構(gòu)(即不是新增功能,也不是修改 bug 的代碼變動)
- test:增加測試
- chore:構(gòu)建過程或輔助工具的變動
- perf:改善性能和體現(xiàn)的修改;
- ci:自動化流程配置修改;
- revert:回滾到上一個版本;
scope(選填)
scope 用于說明 commit 影響的范圍,比如數(shù)據(jù)層、控制層、視圖層等等,視項(xiàng)目不同而不同。
可以是
browser, $compile,View 等。
如果你的修改影響了不止一個 scope,你可以使用*代替。
3.提測
本地測試好開發(fā)分支提測的時候合到develop分支
4.生產(chǎn)
上生產(chǎn)之后打tag tag命名規(guī)則以 release-V1.7.0 為例 V1.7.0以上線版本號為準(zhǔn)
上生產(chǎn)之后刪除原開發(fā)分支feature