3.gitflow流程

1.GitFlow的常用分支

master 主分支

  • 主分支,產(chǎn)品的功能全部實(shí)現(xiàn)后,在master分支對(duì)外發(fā)布。
  • 該分支為只讀唯一分支,只能從其他分支進(jìn)行合并,不能再次分支上進(jìn)行修改。
  • 所有在master分支上的推送都應(yīng)改打標(biāo)簽做記錄。

develop 主開(kāi)發(fā)分支

  • 主開(kāi)發(fā)分支,基于master分支克隆
  • 包含所有要發(fā)布到下一個(gè)release的代碼
  • 該分支為只讀唯一分支,只能從其他分支合并
  • feature功能分支完成,合并到develop分支
  • develop拉取release分支,提測(cè)
  • release/hotfix分支上線完畢,合并到develop并推送

feature 功能開(kāi)發(fā)分支

  • 功能開(kāi)發(fā)分支,基于develop分支克隆,主要用于新需求新功能的開(kāi)發(fā)
  • 功能開(kāi)發(fā)完畢后合并到develop分支(未正式上線前不能推送到遠(yuǎn)程中央倉(cāng)庫(kù)!)
  • feature分支可以同時(shí)存在多個(gè),用于團(tuán)隊(duì)中多個(gè)功能同時(shí)開(kāi)發(fā),屬于臨時(shí)分支,功能完成后可刪除該分支

release 測(cè)試分支

  • 測(cè)試分支,基于feature分支合并到develop分支后,從develop分支克隆
  • 主要用于提交給測(cè)試人員進(jìn)行功能測(cè)試,測(cè)試過(guò)程中發(fā)現(xiàn)的BUG在本分支進(jìn)行修復(fù),修復(fù)完成后上線合并到develop/master分支
  • 屬于臨時(shí)分支,功能上線后可選擇性刪除

hotfix 補(bǔ)丁分支

  • 補(bǔ)丁分支,基于master分支克隆,主要用于對(duì)線上的版本進(jìn)行BUG修復(fù)
  • 修復(fù)完畢后合并到develop/master分支并推送
  • 屬于臨時(shí)分支,補(bǔ)丁修復(fù)上線后可選擇性刪除
  • 所有hotfix分支的修改都會(huì)進(jìn)入到下一個(gè)release

主要工作流程

1.初始化項(xiàng)目為gitflow,默認(rèn)創(chuàng)建master分支,然后從master分支上拉取第一個(gè)develop分支作為開(kāi)發(fā)主分支。
2.從develop分支上拉取feature功能開(kāi)發(fā)分支進(jìn)行編碼開(kāi)發(fā),多個(gè)開(kāi)發(fā)人員拉取多個(gè)feature同時(shí)進(jìn)行并行開(kāi)發(fā),互不影響。
3.feature分支完成后,合并到develop分支(不推送,由于feature分支的功能完成還沒(méi)有進(jìn)行提測(cè),推送后會(huì)影響其他功能分支的開(kāi)發(fā)),合并feature分支到develop分支,可以選擇刪除當(dāng)前feature分支。也可以不刪除,但是當(dāng)前feature分支就不可進(jìn)行更改了,必須從release分支繼續(xù)編碼修改。
4.從develop分支進(jìn)行提測(cè),提測(cè)過(guò)程中在release分支上修改BUG。
5.release分支上線后,合并release分支到develop/master分支并推送合并之后,可以選擇刪除當(dāng)前release分支,若果不刪除,則當(dāng)前release分支不可修改。線上有問(wèn)題也必須從master分支拉取hotfix分支進(jìn)行修改
6.上線之后如果發(fā)現(xiàn)BUG,則從master分支上拉取hotfix分支進(jìn)行BUG修改。
7.hotfix分支代碼通過(guò)測(cè)試上線后,合并hotfix分支到develop/master分支并推送,合并后,可以選擇刪除當(dāng)前hotfix分支,若果不刪除,則當(dāng)前hotfix不可修改,若果補(bǔ)丁未被修復(fù),需要從master拉取新的hotfix分支繼續(xù)修改。
8.當(dāng)進(jìn)行一個(gè)feature功能開(kāi)發(fā)時(shí),若develop分支發(fā)生變動(dòng),例如其他開(kāi)發(fā)人員完成功能并上線,則需要從將對(duì)方完成的功能合并到自己的分支上,即合并develop主開(kāi)發(fā)分支到當(dāng)前feature功能開(kāi)發(fā)分支上。
9.當(dāng)進(jìn)行一個(gè)release測(cè)試分支時(shí),若develop分支發(fā)生變動(dòng),例如其他開(kāi)發(fā)人員完成功能并上線,則需要將完成的功能合并到自己的release分支上(注意:如果在不合并develop分支的情況下,將當(dāng)前release測(cè)試分支發(fā)布到線上,可能會(huì)發(fā)生代碼丟失的情況)。
轉(zhuǎn)自:https://blog.csdn.net/xingbaozhen1210/article/details/81386269

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容