V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zwy100e72
V2EX  ›  程序员

您所在的团队是如何维护版本漏洞修复补丁的?

  •  
  •   zwy100e72 ·
    zhaoweny · 2018-07-23 16:24:30 +08:00 · 2240 次点击
    这是一个创建于 2345 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大型软件不可避免的需要维护旧版本,新版本的开发工作也在同步进行, 那么就涉及到为所有版本提供漏洞修复补丁的问题。

    如果使用手工方法一个版本修复后所有版本同步变更,耗时耗人力; 如果使用 Git 单独开分支,然后 merge 时难免将不想要的变更也带进别的版本。

    各位有没有什么更好的办法?

    10 条回复    2018-07-24 10:28:53 +08:00
    ChristopherWu
        1
    ChristopherWu  
       2018-07-23 16:30:39 +08:00
    >如果使用 Git 单独开分支,然后 merge 时难免将不想要的变更也带进别的版本。

    一个小分支,一个小功能 or bug fix
    hahastudio
        2
    hahastudio  
       2018-07-23 16:38:21 +08:00   ❤️ 1
    loveexception
        3
    loveexception  
       2018-07-23 16:39:20 +08:00
    第一级 大小版本号 改二次
    第二级 为每个 BUG 开一分支(有必要热修复的)
    从老板本上拆出来。
    一个分支 干完了
    向二个分支分别合并。(现网,新版本)

    第三级 不改 旧版本只改新版本(写到需求单中去。)
    corningsun
        4
    corningsun  
       2018-07-23 16:45:05 +08:00
    gitflow 了解一下
    zwy100e72
        5
    zwy100e72  
    OP
       2018-07-23 18:05:18 +08:00
    如果业务需要,需要同时维护多个 Release 版本呢?用语义版本举例:
    同时需要维护 v1.9, v1.10, v1.11 版本,其中 v1.11 是开发版本,v1.9 / v1.10 是正式版本
    如何避免将相同的 bugfix 同步 3 次呢?

    @ChristopherWu 您描述的和其他三位意思一致,请看上面这个问题
    @hahastudio 很好的文章,图示清晰明了
    @corningsun 略有了解,主要是想问上面这个问题
    @loveexception 由于是运营商业务,可能没办法做到这点
    zwy100e72
        6
    zwy100e72  
    OP
       2018-07-23 18:17:48 +08:00 via iPhone
    @loveexception 这里想表达的是第三级没法做到
    ChristopherWu
        7
    ChristopherWu  
       2018-07-23 19:11:38 +08:00   ❤️ 1
    @zwy100e72 一般我用 `git cherry-pick`, 应该有更好的办法,还望大佬告知。
    GeruzoniAnsasu
        8
    GeruzoniAnsasu  
       2018-07-23 19:27:32 +08:00   ❤️ 1
    同 cherry-pick。。。 也觉得没什么好点的办法
    zwy100e72
        9
    zwy100e72  
    OP
       2018-07-24 00:13:07 +08:00 via iPhone
    目前看最好的结果就是 cherry pick 了
    这就研究下
    loveexception
        10
    loveexception  
       2018-07-24 10:28:53 +08:00   ❤️ 1
    @zwy100e72
    1。从 1.9 上切出热版本,
    2。修改
    3。向 1.9,1.10 ,1.11 上合并。
    4。分别集成测试这三个版本。
    5。不要从 1.11 上切版本。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4059 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:01 · PVG 09:01 · LAX 17:01 · JFK 20:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.