App-Git版本管理

版本划分

  1. develop:开发版,连接开发服务器,测试维护

  2. release-年月日:内部试用版,连接内部试用服务器,运营维护

  3. master:正式版,连接正式服务器,运营维护

tag-年月日,用来方便产线版本追述

基本流程

  1. 开发测试在develop进行开发、测试、解bug、验证

  2. 开发测试完成之后,进行一次内部发布,产出是“release-年月日”

  3. 运营对“release-年月日”进行内部试用,这个阶段出现的bug直接在这个分支上修改和验证

  4. “release-年月日”验证完成后,可以根据情况决定是否对外发布。比如苹果iOS系统的对外发布频率是一年一次。不过其内部发布频率应该高于这个频率

  5. 需要对外发布的“release-年月日”转移到master,进行对外发布,同时打好相应的tag

  6. 如果线上版本发现bug,直接从master拉出相应的hotfix分支,进行修复、验证和打补丁

开发版

  • 主体分支是develop

  • 进行新特性开发,可以拉分支develop-taskxxx,完成后合并到develop。当然,根据具体情况,也可以不合并。

  • 进行bug修复,可以拉分支develop-bugxxx,完成后合并到develop。当然,根据具体情况,也可以不合并。

  • 测试以develop这个分支为测试对象。当然,如果需要,对单独的任务develop-taskxxx,bug修复develop-bugxxx,也是可以的

  • 连接开发环境,由测试负责维护、配置

  • 测试验证完成后,为了保证稳定,develop分支可以有“封板期”

  • 合并到develop之后,可以把分支develop-taskxxx,develop-bugxxx删除。当然,根据实际需要,也可以保留一段时间。

内部验证版

  • 主体分支是“release-年月日”
  • 一种方式是统一用“release”,然后用tag的方式做标记。不过这里有一种隐含意味是“只有一个内部验证版”,无法体现苹果那种“多次内部发布,一次对外发布”的情况
  • 每一个“release-年月日”,都是一个实际可以对外发布的“可用版本”,是否对外发布,取决于运营决策
  • 对于重大节点,比如“阿里的双11”,需要提前开发,内部验证好,至于正式对外发布,则要等到相应的时机。
  • 版本规划和开发,一般要提前于实际需求,这样才能做到“不打无准备之战”
  • 还有一种命名方式是“release-月日”,不带“年”信息,在跨年的时候可能会带来困扰,当然也隐含“版本只保留1年,超过1年的版本将清理的意思”。在大多数情况下,这样做也是合理的。
  • 连接内部验证环境,由运营负责维护、配置

  • 如果发现bug,可以拉分支“release-年月日-bugxxx”,开发完成和测试验证之后,合并到“release-年月日”

  • 对于需求变更,原则上不予执行。如果特殊需要,可以拉分支“release-年月日-taskxxx”,开发完成和测试验证之后,合并到“release-年月日”

  • 经过验证,并且运行稳定之后,根据需要将“release-年月日-bugxxx”,“release-年月日-taskxxx”的改动合并到develop分支(此时的develop可能已经领先很多,需要做增量合并),保证develop内容最新。当然,根据实际情况,也可以不合并。

  • 合并到“release-年月日”之后,可以删除相应的“release-年月日-bugxxx”,“release-年月日-taskxxx”。当然,也可以根据需要,保留一定的时间。

  • “release-年月日”作为develop和master之间的缓冲,将开发版和正式版解耦。需要有专人进行管理和维护。

正式版

  • 主体分支是master

  • 连接正式环境,由运营负责维护、配置

  • master由“release-年月日”合并而来,合并之后,拉“tag-年月日”,这个年月日和“release-年月日”中的年月日一致。(并不是每个release都会到master的)

  • “release-年月日”合并到master之后,“release-年月日”可以删除,因为已经转换为“tag-年月日”;当然“release-年月日”保留一定时间,比如半年,也是有一定道理的。如何取舍,看具体的管理方式。

  • 如果发现bug,可以拉分支“hotfix-年月日”

  • “hotfix-年月日”开发验证完成后,合并到master,保证master稳定可用

  • “hotfix-年月日”开发验证完成后,其改动合并到develop(此时的develop可能已经领先很多,需要做增量合并),保持develop最新可靠。当然,根据具体情况,可以不合并

  • “hotfix-年月日”合并到master之后,同样打“tag-年月日”

  • “hotfix-年月日”在合并之后可以删除。当然,也可以根据需要,保留一定的时间。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容