歡迎來(lái)到深圳市志博科技有限公司網站!
您當前的(de)位置:深圳APP開發 > 新聞資訊 > APP開發資訊 >
人(rén)
已閱讀

APP開發如何做(zuò)好代碼分(fēn)支管理(lǐ)

來(lái)源:lexintech.com       發布時(shí)間:2018-05-23
APP開發程序員(yuán)在使用(yòng)代碼版本管理(lǐ)分(fēn)支的(de)時(shí)候,一般使用(yòng)三種分(fēn)支類型:主幹分(fēn)支、特性分(fēn)支、發布分(fēn)支,以及三條基本規則。
APP開發如何做(zuò)好代碼分(fēn)支管理(lǐ)
規則一,開始工作前,從主幹創建特性分(fēn)支。
 
每當開始一件新的(de)工作項(比如新的(de)功能或是待解決的(de)問題)的(de)時(shí)候,從代表最新已發布版本的(de)主幹上創建一個(gè)特性分(fēn)支,然後在這(zhè)個(gè)分(fēn)支上提交代碼修改。也(yě)就是說,每個(gè)工作項(可(kě)以是一個(gè)人(rén)完成,或是多(duō)個(gè)人(rén)協作完成)對(duì)應一個(gè)特性分(fēn)支,所有的(de)修改都不允許直接提交到主幹。
 
規則二,通(tōng)過合并特性分(fēn)支,形成發布分(fēn)支。
 
先将已經完成的(de)特性分(fēn)支合并回公共主線(即開發分(fēn)支),然後從公共主線拉出發布分(fēn)支。
 
首先,發布分(fēn)支的(de)用(yòng)途可(kě)以很靈活。基礎玩法是将每條發布分(fēn)支與具體的(de)環境相對(duì)應,比如release/test分(fēn)支對(duì)應部署測試環境,release/prod分(fēn)支對(duì)應線上正式環境等等,并與流水(shuǐ)線工具相結合,串聯各個(gè)環境上的(de)代碼質量掃描和(hé)自動化(huà)測試關卡,将産出的(de)部署包直接發布到相應環境上。進階點的(de)玩法是将一個(gè)發布分(fēn)支對(duì)應多(duō)個(gè)環境,比如把灰度發布和(hé)正式發布串在一起,中間加上人(rén)工驗收的(de)步驟。高(gāo)級的(de)玩法呢(ne),要是按叠代計劃來(lái)關聯特性分(fēn)支,創建出以叠代演進的(de)固定發布分(fēn)支,再把一系列環境都串在這(zhè)個(gè)發布分(fēn)支的(de)流水(shuǐ)線上,就有點經典持續集成流水(shuǐ)線的(de)味道了(le)

其次,發布分(fēn)支的(de)特性組成是動态的(de),調整起來(lái)特别容易。在一些市場(chǎng)瞬息萬變的(de)互聯網企業,以及采用(yòng)“敏捷運作”的(de)乙方企業經常會遇到這(zhè)種情況,已經完成就等待上線的(de)需求,随時(shí)可(kě)能由于市場(chǎng)策略調整或者甲方的(de)一個(gè)臨時(shí)決定,其中某個(gè)功能忽然要求延遲發布或者幹脆不要了(le)。再或者是某個(gè)特性在上線前發現存在嚴重的(de)開發問題,需要排除。按往常的(de)做(zuò)法,這(zhè)時(shí)候就要來(lái)手工“剔代碼”了(le),将已經合并到開發分(fēn)支或者主幹分(fēn)支的(de)相關提交一個(gè)個(gè)剔除出去,做(zuò)過的(de)同學都知道很麻煩。
 
規則三,發布到線上正式環境後,合并相應的(de)發布分(fēn)支到主幹,在主幹添加标簽,同時(shí)删除該發布分(fēn)支關聯的(de)特性分(fēn)支。
 
當一條發布分(fēn)支上的(de)流水(shuǐ)線完成了(le)一次線上正式環境的(de)部署,就意味著(zhe)相應的(de)功能真正的(de)發布了(le),此時(shí)應該将這(zhè)條發布分(fēn)支合并到主幹。爲了(le)避免在代碼倉庫裏堆積大(dà)量曆史上的(de)特性分(fēn)支,還(hái)應該清理(lǐ)掉已經上線部分(fēn)特性分(fēn)支。主幹分(fēn)支上的(de)最新版本始終與線上版本一緻,如果要回溯曆史版本,隻需在主幹分(fēn)支上找到相應的(de)版本标簽即可(kě)。
 
APP開發 網站開發 産品設計 微信公衆号 APP開發公司 用(yòng)戶體驗 APP運營 微信小程序 産品經理(lǐ) 網站設計