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

2018-07-23 16:24:30 +08:00
 zwy100e72

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

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

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

2219 次点击
所在节点    程序员
10 条回复
ChristopherWu
2018-07-23 16:30:39 +08:00
>如果使用 Git 单独开分支,然后 merge 时难免将不想要的变更也带进别的版本。

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

第三级 不改 旧版本只改新版本(写到需求单中去。)
corningsun
2018-07-23 16:45:05 +08:00
gitflow 了解一下
zwy100e72
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
2018-07-23 18:17:48 +08:00
@loveexception 这里想表达的是第三级没法做到
ChristopherWu
2018-07-23 19:11:38 +08:00
@zwy100e72 一般我用 `git cherry-pick`, 应该有更好的办法,还望大佬告知。
GeruzoniAnsasu
2018-07-23 19:27:32 +08:00
同 cherry-pick。。。 也觉得没什么好点的办法
zwy100e72
2018-07-24 00:13:07 +08:00
目前看最好的结果就是 cherry pick 了
这就研究下
loveexception
2018-07-24 10:28:53 +08:00
@zwy100e72
1。从 1.9 上切出热版本,
2。修改
3。向 1.9,1.10 ,1.11 上合并。
4。分别集成测试这三个版本。
5。不要从 1.11 上切版本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/473361

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX