使用Git的多个软件版本 [英] Multiple software versions using Git

查看:11
本文介绍了使用Git的多个软件版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一款软件,我即将发布它的三个版本:精简版、专业版和企业版。

这三个版本有一些共同的功能,但每个版本也有一些其他版本没有的功能。类似下图:

要管理这些版本,我有两种方法(使用GIT):

1:为常用功能创建一个分支,为每个版本创建另一个分支。然后在需要时将公共分支合并到每个版本中。

2:为常见功能创建一个存储库,并将其分叉到每个版本的其他三个存储库中。然后在需要时将通用功能从主回购(上游)拉入到每个版本的回购中。

我想知道这些方法中哪一种更好,或者是否有更好的方法(使用或不使用Git)来实现此结果。

更新 不幸的是,这个软件最初是由其他人编写的,它缺乏结构。它太过耦合,而且很可能无法将其分解为更小的模块,除非从头开始重写。

推荐答案

请允许我大胆一点,并为此建议一种不同的方法。

不是为每个版本的独特功能物理分隔代码,而是使用一个二进制文件,然后根据使用的版本,通过feature toggles启用特定功能。

这将使您能够发布特定版本,同时减少维护三个不同代码库的开销,并允许您在企业决定有必要时轻松将现有功能包含到一个版本中。

这篇关于使用Git的多个软件版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆