国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

項目開發(fā)代碼分支管理

這篇具有很好參考價值的文章主要介紹了項目開發(fā)代碼分支管理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

項目開發(fā)流程系列

  1. 項目開發(fā)混淆從初識到理解
  2. 項目開發(fā)代碼分支管理

博客創(chuàng)建時間:2022.08.27
博客更新時間:2022.08.28

以Android studio build=7.0.0,SDKVersion 31來分析講解。如圖文和網(wǎng)上其他資料不一致,可能是別的資料版本較低而已。


前言

在團隊開發(fā)中,當(dāng)有多個需求版本進行并發(fā)并行時,選用合適自己的分支管理策略將變得更加必要和急迫,我們來一起認識分支管理的git_flow和github-flow工作流吧。

版本發(fā)布類型

在進行分支管理時不得不科普一下主干發(fā)布分支發(fā)布

主干發(fā)布
的特點就是項目的功能開發(fā)工作在master分支上,代碼開發(fā)完畢后,經(jīng)過功能測試沒有問題后,在master主分支上打release標(biāo)簽作為項目代碼版本進行發(fā)布。是效率最高的一種項目開發(fā)方式。
發(fā)布完畢后,master主分支還繼續(xù)做項目下一個功能版本的開發(fā)工作。如果線上代碼出現(xiàn)bug,那么就在master分支上修復(fù)就可以了。

特征

  1. 項目所有主要/核心功能代碼的開發(fā)工作都在master分支上,開發(fā)完畢后,在master分支上進行集成測試 。
  2. 項目代碼測試通過后,通過打標(biāo)簽的方式,以標(biāo)簽的方式進行代碼發(fā)布。
  3. 項目正常運行過程中出現(xiàn)bug,在master分支進行bug的修復(fù)工作,修復(fù)代碼通過測試后,打標(biāo)簽發(fā)布。

優(yōu)勢:

  1. 項目代碼發(fā)布前,需要進行主干集成測試,代碼沖突易于提前發(fā)現(xiàn)
  2. master主干代碼安全穩(wěn)定,每次測試通過后,都可以隨時發(fā)布。
  3. 集成測試常見的配套措施:每日集成(編譯部署測試),代碼檢查,單元/接口/界面自動化測

劣勢:
新功能代碼在master主干上開發(fā),若主干代碼達不到穩(wěn)定的標(biāo)準,不可以進行項目發(fā)布master上主干開發(fā)有先后,有未完成的功能但又需要發(fā)布時,需要能隱藏未完成部分。 為了避免以上情況,有三種緩解方法:

1)功能拆分,小批量頻繁發(fā)布;
2) 后端先行,ui或功能入口發(fā)布;
3) 功能開發(fā),配置決定功能

分支發(fā)布
項目的功能開發(fā)工作在master分支上,代碼開發(fā)完畢后,經(jīng)過功能測試沒有問題后,從master主分支上切出一個release分支,作為項目代碼版本發(fā)布的專用分支,而master分支還繼續(xù)做項目下一個功能版本的開發(fā)工作。
如果線上代碼出現(xiàn)bug,那么就在release分支上修復(fù)就可以了,修復(fù)后的代碼最終要合并到主干上,只有非常嚴重的缺陷修復(fù)才會從master合并到release分支上。

優(yōu)勢:
主干開發(fā)的過程中,關(guān)于分支合并的工作量很少,所以整體比較簡單,且更容易發(fā)布

劣勢:
線上出現(xiàn)歷史嚴重bug,需要在各該分支上各個修復(fù),直接在master修復(fù)后同步到各分支容易有各沖突


Git-Flow

Git_flow是一種代碼分支管理規(guī)范,其實它屬于一種主干開發(fā)—主干發(fā)布類型。遵守的Git-Flow規(guī)范的分支分為兩種,長期分支和短期分支。該工作流相對復(fù)雜,需要同時維護兩個長期分支,開發(fā)中需要經(jīng)常切換分支
項目開發(fā)代碼分支管理

長期分支
1. 主分支master

1. 線上所有功能代碼所在,只讀不可修改,對外發(fā)布的唯一分支。
2. 只能由hotfix或develop合并

2. 開發(fā)分支develop

1. 基于master 分支克隆,只讀不可修改。
2.  feature分支從該分支拉出,開發(fā)完成后合并到develop
3. 分支上的功能經(jīng)測試無誤后,需要由該分支再次合并到master分支上。

短期分支
一旦開發(fā)完成就會合并到develop和master分支上,然后被刪除。

1. 功能分支(feature branch)

1. 功能開發(fā)分支 , 基于 develop 分支克隆 , 主要用于新需求新功能的開發(fā),屬于臨時分支
2. feature 分支可同時存在多個 , 用于團隊中多個需求功能同時開發(fā)
3. 功能開發(fā)完畢并測試完成后合到 develop 分支。合并后此分支刪除(誰合并誰刪除)

2. 補丁分支(hotfix branch)

1. 基于 master 分支克隆 , 主要用于對線上的版本進行bug修復(fù),屬于臨時分支
2. 修復(fù)完畢后,如果需要臨時發(fā)版則需要打tag并推送到master/develop分支,如果不需要發(fā)版只需要推送到develop分支且不用打tag

3. 預(yù)發(fā)分支(release branch)

1. 用于提交給測試人員進行功能測試 , 測試過程中發(fā)現(xiàn)的 BUG 在本分支進行修復(fù) , 修復(fù)完成上線后打tag并合并
2.從 develop 分支克隆,屬于臨時分支。提測完成后合并到master/develop分支,然后刪除該分支(誰合并誰刪除)。

GitHub-Flow

Github flow 是Git flow的簡化版,專門配合”持續(xù)發(fā)布”。它是 Github.com 使用的工作流程。在持續(xù)發(fā)布模式下,master和develop分支其實差異不大,所以GitHub-Flow工作流只有一個長期分支master。
項目開發(fā)代碼分支管理
github-flow與git-flow區(qū)別

  1. github-flow只有一個長期分支master
  2. github-flow沒有release分支,需求功能直接在feature分支上測試完畢merge到master,然后再master分支上進行發(fā)布
  3. 每次feature分支merge到master上時可能會有沖突,這要求在feature發(fā)布前需要合并一線master代碼到feature上,進行提測測試。

總結(jié)

github_flow模式的工作流一般更貼近日常開發(fā)工作,根據(jù)自身項目的發(fā)布特點可以進行差異化的調(diào)整,適合自己的才是最好的。


相關(guān)鏈接

  1. 項目開發(fā)混淆從初識到理解
  2. 項目開發(fā)代碼分支管理

擴展鏈接:

  1. Material Design UI方案使用講解
  2. Material TextInputLayout使用詳解

博客書寫不易,您的點贊收藏是我前進的動力,千萬別忘記點贊、 收藏 ^ _ ^ !文章來源地址http://www.zghlxwxcb.cn/news/detail-403441.html

到了這里,關(guān)于項目開發(fā)代碼分支管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【大模型應(yīng)用開發(fā)教程】04_大模型開發(fā)整體流程 & 基于個人知識庫的問答助手 項目流程架構(gòu)解析

    【大模型應(yīng)用開發(fā)教程】04_大模型開發(fā)整體流程 & 基于個人知識庫的問答助手 項目流程架構(gòu)解析

    項目倉庫地址 項目學(xué)習(xí)地址 定義 將 開發(fā)以LLM為功能核心 ,通過LLM的強大理解能力和生成能力,結(jié)合特殊的數(shù)據(jù)或業(yè)務(wù)邏輯來提供獨特功能的應(yīng)用。 核心點 通過調(diào)用 API 或開源模型來實現(xiàn)核心的理解與生成 通過 Prompt Enginnering 來實現(xiàn)大語言模型的控制 在大模型開發(fā)中,我們

    2024年02月05日
    瀏覽(27)
  • Python Flask 全流程全棧項目實戰(zhàn)(熟悉企業(yè)真實的開發(fā)全流程)

    Python Flask開發(fā):從入門到理論 Python Flask是一個輕量級的Web框架,它使得開發(fā)Web應(yīng)用程序變得愈加簡單和快速。本文將引見Flask開發(fā)的根底學(xué)問和技術(shù),協(xié)助你從零開端構(gòu)建一個完好的Web應(yīng)用程序。 一、裝置與環(huán)境配置 首先,確保你曾經(jīng)裝置了Python。然后,經(jīng)過pip裝置Flask:

    2024年02月19日
    瀏覽(15)
  • uni-app開發(fā)小程序以及項目部署流程

    uni-app開發(fā)小程序以及項目部署流程

    作者也是剛開始接觸小程序開發(fā),本次小程序開發(fā)使用的uni-app,記錄下小程序的開發(fā)過程。 ? ? ? ? 作者使用的開發(fā)工具:HBuilder x、微信開發(fā)者工具。 ? ? ? ? 詳細步驟可參考uni-app官網(wǎng)-快速上手,下面簡述下作者的使用過程: ? ? ? ? 1.在HBuilder X 中打開如下路徑文件 - 新

    2024年02月09日
    瀏覽(100)
  • 【java】Java項目從開發(fā)到部署生產(chǎn)完整流程梳理

    【java】Java項目從開發(fā)到部署生產(chǎn)完整流程梳理

    從事Java開發(fā)許久,從最初學(xué)習(xí)的JDK環(huán)境變量開始,到如今開發(fā)部署發(fā)布,已經(jīng)逐漸形成了自己的一套體系,當(dāng)然,其中也不少學(xué)習(xí)了網(wǎng)上各種資料總結(jié),接下來將在本文對Java項目開發(fā)到部署發(fā)布整個流程進行歸納梳理。 關(guān)于開發(fā)環(huán)境,在之前寫的一篇文章里有詳細教學(xué),因

    2024年02月03日
    瀏覽(18)
  • uni-app項目的開發(fā)和發(fā)布流程(包括開發(fā)版、體驗版、正式版)

    uni-app項目的開發(fā)和發(fā)布流程(包括開發(fā)版、體驗版、正式版)

    uni-app的開發(fā)和發(fā)布流程(包括開發(fā)版、體驗版、正式版) 開發(fā)工具:HbuilderX編輯器、微信小程序開發(fā)工具 1、新建uni-app項目 2、運行到微信小程序(第一次可以從HbuilderX點進去,后面等發(fā)行包出來,可以導(dǎo)入里面dev文件夾里的mp-weixin) 3、發(fā)行版本(開發(fā)版-體驗版-正式版)

    2024年02月08日
    瀏覽(26)
  • 大模型開發(fā)(十六):從0到1構(gòu)建一個高度自動化的AI項目開發(fā)流程(中)

    大模型開發(fā)(十六):從0到1構(gòu)建一個高度自動化的AI項目開發(fā)流程(中)

    授權(quán)聲明: 本文基于九天Hector的原創(chuàng)課程資料創(chuàng)作,已獲得其正式授權(quán)。 原課程出處:九天Hector的B站主頁,感謝九天Hector為學(xué)習(xí)者帶來的寶貴知識。 請尊重原創(chuàng),轉(zhuǎn)載或引用時,請標(biāo)明來源。 全文共1w余字,預(yù)計閱讀時間約40~60分鐘 | 滿滿干貨(附代碼),建議收藏! 本文目

    2024年02月14日
    瀏覽(27)
  • 43--Django-項目實戰(zhàn)-全棧開發(fā)-基于django+drf+vue+elementUI企業(yè)級項目開發(fā)流程-課程詳情頁面、搜索頁面以及后臺設(shè)計

    1.視頻播放功能 下載第三方插件:vue-video-player 使用步驟: 第一步: cnpm install vue-video-player 第二步:在main.js中引入

    2024年02月09日
    瀏覽(26)
  • 探索現(xiàn)代前端工程化工具與流程:提升開發(fā)效率和項目質(zhì)量

    探索現(xiàn)代前端工程化工具與流程:提升開發(fā)效率和項目質(zhì)量

    前端工程化是指利用各種工具和技術(shù)來提高前端開發(fā)效率、代碼質(zhì)量和團隊協(xié)作的一種開發(fā)模式。 它的背景和發(fā)展與前端技術(shù)的演進密切相關(guān)。 在過去,前端開發(fā)主要依靠手工編寫 HTML、CSS和JavaScript 來構(gòu)建網(wǎng)頁。隨著互聯(lián)網(wǎng)的發(fā)展和前端技術(shù)的不斷演進,前端的工作變得更

    2024年02月14日
    瀏覽(92)
  • Android開發(fā)-Android項目Jenkins自動化打包流程搭建與配置

    Android開發(fā)-Android項目Jenkins自動化打包流程搭建與配置

    由于之前公司的 Android 項目需要 APK 自動打包的功能,所以需要搭建 Jenkins 自動化打包的功能。 Jenkins 是一個用于自動化構(gòu)建、測試和部署軟件項目的開源持續(xù)集成和持續(xù)交付(CI/CD)工具。它提供了一個可擴展的平臺,可以幫助開發(fā)團隊更快地構(gòu)建、測試和交付他們的應(yīng)用程

    2024年02月08日
    瀏覽(26)
  • 使用antv/G6在vue項目中開發(fā)較復(fù)雜樣式流程圖

    使用antv/G6在vue項目中開發(fā)較復(fù)雜樣式流程圖

    設(shè)計師提供了一版樣式較復(fù)雜的流程圖,我搜了一些常用的vue-super-flow和vue-x6-flow等都只支持簡單的樣式。之前自己寫過純展示流程圖不涉及太多交互,感覺還是找一個成熟的插件開發(fā)更適合,也方便其他同事參考,所以最后選擇了用antv/G6自己個性化開發(fā),總結(jié)了使用antv/G6在

    2023年04月09日
    瀏覽(782)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包