一个变更集与多个工作项相关联,但是当前版本中只有一个要合并

本文关键字:当前版本 关联 合并 有一个 一个 工作 | 更新日期: 2023-09-27 18:03:21

我是TFS的新手。对于一个变更集,我将它与多个工作项关联起来,因为它们的变更是相同类型的。现在我想合并一个工作项的变更,而不是变更集中其他工作项的变更,因为只有这个工作项是针对当前发布的。

知道我该如何处理这个场景吗?

一个变更集与多个工作项相关联,但是当前版本中只有一个要合并

你的情况很复杂,我有两种可能的解决方案

如果相同的变更集应用于所有相关的工作项(WI),那么无论您的哪一个工作项需要被发布,整个变更集都将被合并。所以也许你可以将合并与你将要发布和合并的WI联系起来。当涉及到其他WI时,你可以简单地将它们标记为发布,说明你之前合并的更改集。

如果您当前的变更集对不同的WI有多个变更,那么最好的解决方案可能是分别回滚您拥有的每个WI的变更集和签入。通过这样做,您将拥有代表每个WI的单独更改集,然后您可以轻松地进行所需WI的合并。

我们目前处于DEV -> UAT阶段。经过讨论,我们做了以下的事情:

  1. 合并更改,但仅在UAT中签入当前版本的项目,并撤消当前其他版本的更改。这将使变更集部分合并,并且在后续版本中需要进一步合并。

  2. 在DEV中,对工作项进行另一个不可见的更改,并检入更改集——>将其合并到UAT中。这样做的原因是,稍后对于UAT -> PROD,我们可以暂时排除有问题的更改集,并使用新的更改集作为记录更改的代表(以便对所做的更改有一些提示)。只有在最后(当将与此更改集关联的最后一个WI提升到UAT/PROD时),我们才会完全提升这个制造麻烦的更改集。

经验教训:无论不同wi(特别是不同版本)的更改多么简单和相似,都要进行单独的签入。在开发阶段可能会多花几分钟,但在后期阶段肯定会节省很多麻烦。对于这些问题,没有完美的解决方案。当进行了大量后续更改时,回滚的成本太高。