【发布时间】:2010-01-12 08:23:50
【问题描述】:
简单地说,我有以下分支设置:
MAIN
|--- DEV
|--- PROD
大多数开发都是在 DEV 分支中完成的。当代码准备好测试时,所有内容都合并到 MAIN 分支并发布到我们的测试环境。测试完成后,将完成与 PROD 的合并,并将所有内容发布到生产服务器。不时地对 MAIN 或 PROD 代码进行更改(主要是错误修复),但这是一个例外。
我被要求想出一个功能和错误修复合并的系统。这意味着 DEV 中的单独更改应该跨 MAIN 和 PROD 合并。在我们当前的设置中,这些信息会丢失:例如,功能 A、B 和 C 在 DEV 分支中实现。假设每个特性都有两个对应的变更集:A1、A2、B1、B2、C1、C2。使用我们当前的工作方式,所有内容都一次性合并到 MAIN 分支。因此,当我们想要“挑选”必须从 MAIN 到 PROD 的功能时,我们不能这样做,因为 MAIN 上只有一个变更集:合并签入。
你会如何解决这个问题?我需要对我的分支策略进行一些更改吗?
我正在使用 TFS 进行源代码控制。
【问题讨论】: