最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

前端分支規(guī)范

2023-02-24 18:01 作者:吳小敏63  | 我要投稿

開(kāi)發(fā)規(guī)模不大,結(jié)合比較正式的規(guī)范做了一些簡(jiǎn)化

基本概念

常設(shè)分支

  • master - 主分支,用于正式發(fā)布

  • develop - 開(kāi)發(fā)分支,用于創(chuàng)建新開(kāi)發(fā)feature分支

臨時(shí)分支

  • feature/*** - 任務(wù)開(kāi)發(fā)分支

  • release - 預(yù)發(fā)布分支

  • hotfix/*** - 線上熱修分支

這三種分支都屬于臨時(shí)性需要,使用完以后,應(yīng)該刪除,使得代碼庫(kù)的常設(shè)分支始終只有Master和Develop。

環(huán)境

正式環(huán)境:production

測(cè)試環(huán)境:testing

開(kāi)發(fā)環(huán)境:development

分支說(shuō)明

master(主分支)

master為主分支,用于部署到正式環(huán)境production,一般由releasehotfix分支合并,所有提供給用戶使用的正式版本,都在這個(gè)主分支上發(fā)布,任何情況下不允許直接在master分支上修改代碼。

develop(開(kāi)發(fā))

develop為開(kāi)發(fā)分支,始終保持最新完成以及 bug 修復(fù)后的代碼,可根據(jù)需求大小程度(工時(shí)是否小于一天)確定是由 feature 分支合并,還是直接在上面開(kāi)發(fā)。

持續(xù)集成、最新隔夜版本的生成等都是基于這個(gè)分支。

release(預(yù)上線分支、預(yù)發(fā)布分支)

release為預(yù)上線分支,用于部署到測(cè)試環(huán)境testing,發(fā)布正式版本之前(即合并到Master分支之前),我們可能需要有一個(gè)預(yù)發(fā)布的版本進(jìn)行測(cè)試。從master或develop拉取,測(cè)試完成merge回master和develop。

如果?存在?未測(cè)試完畢的需求,就基于master創(chuàng)建。

如果?不存在?未測(cè)試完畢的需求,就基于develop創(chuàng)建。

不建議直接在release分支上直接修改代碼。

feature 分支

feature為需求開(kāi)發(fā)分支,從develop拉取,開(kāi)發(fā)feature完成,merge回develop,一旦該需求上線,便將其刪除。

hotfix(線上熱修分支)

hotfix?為緊急修復(fù)分支,從master拉取,修復(fù)并測(cè)試完成merge回master和develop,一旦修復(fù)上線,便將其刪除。

基本流程

  1. 每開(kāi)發(fā)一個(gè)新功能,創(chuàng)建一個(gè)feature分支,多人在此分支上開(kāi)發(fā);

  2. 提測(cè)時(shí),將master分支和需要提測(cè)的分支匯總到一個(gè)release分支,發(fā)布測(cè)試環(huán)境;

  3. 發(fā)現(xiàn)bug時(shí),在feature分支上debug后,再次回到2;

  4. 發(fā)布生產(chǎn)環(huán)境后,將release分支合并到master分支,刪除release分支。

命令行示例:

# 1 從develop分支創(chuàng)建feature分支git branch -b feature/branch-test develop# 2-1 從master或develop分支(具體條件看上文,這里選擇master)創(chuàng)建release分支git branch -b release master# 2-2 切換到release分支,把feature/branch-test分支合并到release分支git checkout release git merge feature/branch-test# 4-1git checkout master git merge release# 4-2 刪除feature和release分支(本地)git branch -d feature/branch-test git branch -d release

刪除分支:

# 清除本地remotegit remote prune origin# 刪除本地分支(-D為強(qiáng)制刪除)git branch -d|-D ?[branchName]# 刪除遠(yuǎn)程分支git push origin --delete [branchName]

其他場(chǎng)景

發(fā)布測(cè)試環(huán)境(release分支)

  1. 確認(rèn)要發(fā)布的feature 分支上的功能是否開(kāi)發(fā)完畢并提交;

  2. 創(chuàng)建release 分支(發(fā)布分支),將所有要發(fā)布的分支逐個(gè)合并到release分支,有如下情況:

  • feature分支(可能有多個(gè))

  • master分支(期間可能有其他release版本更新到了master)

  1. 命名規(guī)則(可選):release-分支創(chuàng)建日期-新特性和待發(fā)布版本號(hào)

  2. 發(fā)布到測(cè)試環(huán)境,通知測(cè)試;

  3. 測(cè)試完成后刪除本次發(fā)布的所有feature分支。

修復(fù)待發(fā)布版本中的Bug(feature分支)

如果發(fā)現(xiàn)bug,開(kāi)發(fā)人員在 feature 分支上修復(fù)測(cè)試人員提交給自己的bug,修復(fù)完成后,合并到 release 分支,發(fā)布測(cè)試環(huán)境。

發(fā)布正式環(huán)境

  1. 根據(jù)修復(fù)后的release分支再次將master合并,打包發(fā)布生產(chǎn)環(huán)境;

  2. 確認(rèn)發(fā)布成功,并線上驗(yàn)收通過(guò)后,將release分支合并到master分支;

  3. 在master分支上創(chuàng)建標(biāo)簽(可選),命名規(guī)則:tag-日期-新特性和版本號(hào),版本可根據(jù)需要添加,作為發(fā)版里程碑標(biāo)記;

  4. 刪除對(duì)應(yīng)release 分支。

修復(fù)線上Bug(hotfix分支)

  1. 從master 分支某個(gè)tag 上創(chuàng)建一個(gè) hotfix 分支(熱修復(fù)分支),一般是最新的tag應(yīng)該和當(dāng)前生產(chǎn)環(huán)境對(duì)應(yīng);

  2. 開(kāi)發(fā)人員完成Bug 修復(fù),提交hotfix分支到測(cè)試環(huán)境驗(yàn)收通過(guò);

  3. 再次發(fā)布正式環(huán)境流程;

  4. 將 hotfix 分支合并到 master 分支;

  5. 在master分支上創(chuàng)建標(biāo)簽(可選),命名規(guī)則:tag-日期-新特性和版本號(hào),版本可根據(jù)需要添加,作為發(fā)版里程碑標(biāo)記;

  6. 刪除 hotfix 分支。


前端分支規(guī)范的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
双辽市| 茌平县| 威宁| 馆陶县| 当涂县| 汕尾市| 上杭县| 建水县| 米泉市| 天津市| 治县。| 米脂县| 抚松县| 抚宁县| 昌黎县| 海兴县| 麻城市| 兴安县| 遵化市| 延川县| 海林市| 兴隆县| 静宁县| 启东市| 集安市| 四会市| 宁强县| 进贤县| 肥西县| 通江县| 克什克腾旗| 翁源县| 壤塘县| 富川| 邵东县| 宜兰县| 南靖县| 建阳市| 嘉鱼县| 六枝特区| 綦江县|