在为发布隔离代码时,使用“标签”而不是“分支”有什么好处。
我们遵循的过程是将代码分支到接近发布并稳定分支上的发布。在 SQA 批准发布后,我们将更改合并回主线。
其他开发组使用标签来“隔离”用于发布的代码库。我不喜欢这个,原因如下(可能是错误的):
- Vault 不支持从标签合并到其他标签。分支之间的合并支持非常好
- 无法删除标记项目的权限以停止修改。您可以限制对分支的访问。
想法赞赏。
在为发布隔离代码时,使用“标签”而不是“分支”有什么好处。
我们遵循的过程是将代码分支到接近发布并稳定分支上的发布。在 SQA 批准发布后,我们将更改合并回主线。
其他开发组使用标签来“隔离”用于发布的代码库。我不喜欢这个,原因如下(可能是错误的):
想法赞赏。
这只是我下面的观点。我认为有很多方法可以做到这一点,但我认为你做对了,分支比标签更好。
这是我的想法:
主干下的代码是要投入生产的代码。如果其中的代码不会在下一个版本中使用,则应将该代码移至分支。
然后使用分支来跟踪未来的发展。因此,明天,从主干创建一个分支(分支 A),并开始添加功能 A。一旦 SQA 批准分支 A,将其合并回主干并将主干推送到生产环境。
请注意,在这种情况下,可以对主干进行补丁 X。您可能需要简单的 1 行更改和 SQA 的快速测试和回归测试来审核补丁 X。但是因为功能 A 是在一个分支上开发的,所以它不会阻止补丁 X 的发布。
每当您将 Trunk 发布到生产环境时,请在所有 Trunk 上放置一个标签,以标记某个版本的发布时间。带有标签的点是为了能够在以后检索在某个时间点发布的确切代码。