主源代码库和各种版本/客户

时间:2020-03-20 18:56:45

标签: visual-studio tfs version-control azure-devops

这是一个理论问题,也是我想实现的问题。

我有一个项目,该项目实质上是主要的源代码,所有新功能都将添加到该项目中,并将其复制到该项目的“子代”中。因此,如果客户A出现,我们将复制具有最新功能的主要来源。然后,如果客户B要使用该系统,我们将使用最新版本的主资源(该资源可能内置了其他新功能)。因此,我们每次都会构建主要源。

也就是说,我也希望能够将功能合并到其他客户版本中,以便他们可以根据需要提供最新功能。不太确定有什么好的方法或工具可以帮助解决此问题。分支机构可以解决这个问题吗?

这是一个使用旧版TFS(2010)但使用最新版本的Visual Studio(2019)的ASP.Net MVC Web系统

示例:

Main Code
------------------------------------------------------------------------
       |                  |                                |
       |Customer A        |                                |
                          |New Feature Added to Main Code  |
                                                           |Customer B

因此,在此示例中,客户A加入了,我们获得了代码库的副本。然后添加了一些新功能,然后客户B获得了包括最新和最大功能的最新代码库。

客户A发现了很棒的新功能,并希望使用这些功能。这是该策略开始变得模糊的地方...开发人员如何在不复制和粘贴各种文件的情况下将最新功能纳入代码库?

1 个答案:

答案 0 :(得分:1)

通常git对于复杂的分支策略会更好...

但是,...我认为对于您的情况来说,对软件进行适当的版本化更有意义,例如Semantic Versioning,并为您的客户提供版本(发行版)。他们可以自行决定是否要购买较新版本或购买升级版本或获得错误修复程序的免费升级...等等...

无论如何,从一个简单的模型开始,并在客户需求/需求变得更加清晰时采用