【发布时间】:2014-10-04 00:28:42
【问题描述】:
我们正在我们最新的 iOS 项目中使用 Git Flow,我正在尝试找出一种与 QA 合作的方式,以便他们可以测试最新版本以及测试新功能,而不必担心哪些错误固定在哪个分支。
目前,他们已经在release/v1.0.1 分支上进行测试,该分支修复了原始release/v1.0 的几个错误。同时,我一直在开发一个计划用于 v1.1 版本的新功能,但它与release/v1.0.1 同时从develop 分支分支出来,因此其中没有任何错误修复。
今天,QA 部门想试用我的新功能。但是,如果我从我的分支创建它们,它们已经重新测试和关闭的错误修复都不会在那里。因此,我会收到大量关于重新引入的错误的投诉和恐慌......我想避免这些!
那么,让他们进行测试的最佳方法是什么?我可以将release/v1.0.1 合并到我的功能分支中,但是我应该确保在release/v1.0.1 发布之前我不会合并回develop……而且我想在某种程度上,这破坏了Git Flow 方法。我可以为 QA 测试创建一个全新的分支,将我的功能与release/v1.0.1 合并,但是我该如何处理他们在这个分支上发现的任何错误?在一轮 QA 之后,我应该将其合并回哪里?
除此之外,我还必须考虑内部版本号和版本号,以便它们有意义。目前,版本号是用于发布的版本号,并且内部版本号随着质量检查的每个新版本而增加。但是,如果他们从两个不同的分支接收构建,我最终可能会遇到构建号冲突,这会导致混淆。
处理这些问题的最佳方法是什么?
【问题讨论】:
-
事实证明,我们希望让 QA 先完成对 1.0.1 的测试,这意味着我们可以将其重新合并以开发并创建具有新功能的新 1.1 版本他们进行测试...但是,在 Git Flow 和 QA 工作流程方面,了解其他人是否有同样的困境仍然非常有用。
-
master合并到发布准备就绪时,根据the git flow protocol。我没有在我的流程中提到master,因为release/v1.0.1还没有完成,所以还没有准备好合并回master或develop。 -
我会将
release/v1.0.1合并到master中,当它被 QA 批准后,但目前该分支上还有一些错误需要解决。 -
您不必等到
release/v1.0.1没有错误后再将其合并回develop。如果您查看nvie.com page 上的第一个图表,您会看到一个气泡,上面写着“来自rel. branch的错误修复可能会不断合并回develop”。 -
它在哪里说我们应该不断地将开发合并到我们的功能分支@Jubobs?我在下面的答案中看到开发中发生的几件事,没有合并到功能分支。将开发合并到您的功能中是否存在好/坏或正确/错误的时间?
标签: git testing branching-and-merging qa git-flow