Git操作規(guī)范之tag的使用技巧詳解
常用分支
首先分享一下我們的分支規(guī)范,然后再介紹摸索出的打tag的規(guī)范。
master
- master : 主分支 , 最終在master分支對(duì)外發(fā)布,
- 此分支只能從其他分支合并,不能再這個(gè)分支直接修改
- 另外所有在master分支的推送應(yīng)該打標(biāo)簽做記錄,方便追溯
- 例如release合并到master
develop
- 主測(cè)試分支 , 基于master分支創(chuàng)建
- 包含所有要發(fā)布到下一個(gè)版本的代碼
- 只能從其他分支合并
- release 分支開發(fā)完成合并到develop
release
- 開發(fā)分支, 基于master分支創(chuàng)建
- 主要用于新需求新功能的開發(fā)
- 功能開發(fā)完畢后合到develop分支發(fā)布測(cè)試環(huán)境,測(cè)試通過后合并到master發(fā)布生產(chǎn)環(huán)境
- release可同時(shí)存在多個(gè)
hotfix
- 補(bǔ)丁分支 , 基于master分支創(chuàng)建
- 主要用于對(duì)線上的版本進(jìn)行BUG修復(fù)
- 修復(fù)完畢后合并到develop分支發(fā)布測(cè)試環(huán)境,測(cè)試通過后合并到master發(fā)布生產(chǎn)環(huán)境
- 屬于臨時(shí)分支 , 補(bǔ)丁修復(fù)上線后可選刪除
使用
- 初始化項(xiàng)目 , 默認(rèn)創(chuàng)建master分支
- 從master拉取第一個(gè)develop分支
- 從master拉取第一個(gè)release分支(多個(gè)開發(fā)人員拉取多個(gè)release同時(shí)進(jìn)行并行開發(fā) , 互不影響)
- release分支完成后 , 合并到develop
- 從develop分支打tag進(jìn)行提測(cè),提測(cè)過程中在原release分支修改BUG,重復(fù)步驟4
- 測(cè)試通過后合并release到master,基于master分支打tag發(fā)布生產(chǎn)環(huán)境.此時(shí)可刪除當(dāng)前release分支
- 上線之后若發(fā)現(xiàn)線上BUG , 從master拉取hotfix進(jìn)行BUG修改
- hotfix通過測(cè)試上線后可選刪除當(dāng)前hotfix
注意
- 發(fā)布線上時(shí)一定是master合并開發(fā)分支,develop分支可能存在其它未測(cè)試通過代碼
- 兩個(gè)分支進(jìn)行合并時(shí)一定要拉取一下最新代碼
tag規(guī)范
打tag場(chǎng)景
- 在測(cè)試同學(xué)線上回歸測(cè)試之后一定要給master分支添加tag,方便后續(xù)有需求時(shí)快速回滾到指定的穩(wěn)定版本
- 當(dāng)一個(gè)代碼庫(kù)在同一個(gè)時(shí)間段有多個(gè)需求要按順序上線時(shí),運(yùn)維同學(xué)需要通過tag標(biāo)記區(qū)分要構(gòu)建的代碼,這時(shí)候需要添加tag。
tag命名規(guī)范
版本類型_版本號(hào)
比如:stable_v1.1.0
意為:穩(wěn)定版v1.1.0
版本類型說明
版本類型 | 說明 | 備注 |
---|---|---|
pre | 預(yù)發(fā)布版,用于運(yùn)維同學(xué)知曉要構(gòu)建的代碼 | 上線測(cè)試無誤后刪除pre類型的tag |
stable | 穩(wěn)定版,新功能上線后使用這個(gè)類型 | 不刪除tag,方便后續(xù)回滾 |
hotfix | 修復(fù)版,修復(fù)線上bug使用這個(gè)類型 | 不刪除tag,方便后續(xù)回滾 |
- pre類型的tag應(yīng)該在測(cè)試同學(xué)回歸測(cè)試通過,打完stable類型或者h(yuǎn)otfix類型的tag之后刪除。
- 代碼倉(cāng)庫(kù)只保留stable類型和hotfix類型的tag,方便回滾到穩(wěn)定版本;不保留pre這種過渡類型的tag。
版本號(hào)設(shè)置規(guī)范
比如版本號(hào):v1.0.0
- 第一個(gè)數(shù)字1,代表大版本,默認(rèn)從1開始,大版本更新時(shí)才遞增
- 第二個(gè)數(shù)字0,代表小版本更新,默認(rèn)從0開始
- 第三個(gè)數(shù)字0,代表補(bǔ)丁版本,默認(rèn)從0開始
場(chǎng)景舉例
注意:在打tag的時(shí)候需要設(shè)置message,寫清楚注釋。
新需求
- tag name命名規(guī)范:stable_v1.0.0
- tag message:云倉(cāng)商品添加銷量字段
修復(fù)bug
- tag name 命名規(guī)范:hotfix_v1.0.1
- tag message:修復(fù)XXX bug
重大版本更新
- tag name 命名規(guī)范:stable_v2.0.0
- tag message:項(xiàng)目整體重構(gòu)后上線
特殊情況
預(yù)發(fā)布環(huán)境,需要按順序構(gòu)建的:
- tag name 命名規(guī)范:pre_v1.0.1
- tag message:預(yù)發(fā)布tag:商品中心上線
- tag name 命名規(guī)范:pre_v1.0.2
- tag message:預(yù)發(fā)布tag:新渠道上線
以上就是Git操作規(guī)范之tag的使用技巧詳解的詳細(xì)內(nèi)容,更多關(guān)于Git tag操作規(guī)范的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
瀏覽器緩存知識(shí)小結(jié)及應(yīng)用分析
了解瀏覽器的緩存命中原理,是開發(fā)web應(yīng)用的基礎(chǔ),本文著眼于此,學(xué)習(xí)瀏覽器緩存的相關(guān)知識(shí),總結(jié)緩存避免和緩存管理的方法,結(jié)合具體的場(chǎng)景說明緩存的相關(guān)問題。希望能對(duì)有需要的人有所幫助2017-03-03IDEA中使用Git拉取代碼時(shí)報(bào) Git pull failed原因及解決方法
這篇文章主要介紹了IDEA中使用Git拉取代碼時(shí)報(bào) Git pull failed原因及解決方法,本文給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08