0

我已经阅读过类似的问题,但仍然觉得有必要提出问题。我有一个场景,我们有很多微小的“功能”等待批准。我通常看到两种方法。

1.保持树干坚固,每个微小的“特征”都有大量的分支。基本上每一个新事物都是一个分支。

缺点:
- 无论变化多么小,支持这么多分支都可能成为噩梦。使所有分支保持同步等
- 我在此看到的最糟糕的问题是测试系统的设置,因此人们可以轻松检查更改以进行批准(基本上需要支持所有看起来很疯狂的分支)。

优点:
- 一旦批准将分支合并回主干并标记和部署新版本,这似乎很容易。

2.对于大功能发布一个分支,对于小的更改都直接进入主干(相对稳定)。

优点:
- 更容易设置测试系统,因为大部分时间都将直接可见。对于大功能应该很容易在测试时维护单独的分支。
缺点:
- 真的不知道发布将如何进行。我将无法基本上释放树干的一部分这将涉及到樱桃采摘,这很疯狂。另一种方法是我只是强制在一段时间(一周左右)后,所有小功能都需要获得批准,以便在提供新任务之前部署它们。我只是创建发布分支,并且所有或没有小功能上线。这将是与负责人的一些有趣的讨论。

我想有很多小的待处理的东西在技术上是很成问题的。

4

1 回答 1

0

我使用 TFS,但策略是一样的。您的选项 1 是最干净的方法,但合并了许多分支机构的开销。这很好,因为您的主干没有被未经测试的代码污染,并且可以从稳定的代码库创建新的分支。您还可以从其自己的分支发布每个功能以进行独立测试。
如果您的更改确实很小且相互独立(即不影响相同的源文件),则可以应用的另一种方法是创建一个功能分支,然后标记(标记)该分支上的每个功能。因此,您可以获得用于构建和测试每个功能的标记版本。但是随着越来越多的代码被更改,您必须定期摆脱这个分支。

于 2010-04-18T10:13:34.697 回答