3

我已经阅读了这篇文章(链接: http: //guides.beanstalkapp.com/version-control/branching-best-practices.html),它提供了一些关于部署错误修复和功能请求的良好“最佳实践”建议,并且倾向于同意那里写的所有内容。但是我有一个似乎无法解决的主要问题:

如何仅部署经过全面测试的功能,而不部署当前正在测试的文件?

示例:错误 #1 影响 file1.php。错误修复编码在错误分支中,由开发人员在本地进行测试,然后合并回开发分支。dev 分支部署到测试环境。

功能 #1 也会影响 file1.php。它被编码、合并并部署到测试。

我需要将错误修复(以及其他 100 个可能存在类似冲突的修复)部署到 Staging。我还不想部署新功能,因为还没有进行文档、培训等。

如何仅部署错误修复?我将如何部署某些错误修复和某些功能请求,但不是全部?

我考虑过跟踪每个文件更改并将其链接到错误票,从错误票中编译文件列表,并手动选择每个文件。但这似乎很容易出错,而且工作量超过了应有的工作量。

我错过了什么?如何仅部署我想要部署的错误修复和功能集?

4

1 回答 1

2

据我了解,通常的方法是:

  1. 对于每个部署的版本(比如1.1 ) ,您都有一个标签/分支(在 SVN 中相同)。
  2. 如果出现严重错误,您可以在 ( 1.1 )的分支中修复错误,如您所说
  3. 该错误被合并到 ( 1.1 ) 创建 ( 1.1.1 ) 并且也合并到dev。( 1.1.1 ) 去测试而不是开发

同时

  1. 功能转到Dev
  2. 当您想要发布功能时,您可以为该功能创建一个分支(例如1.2),该分支将用于测试,然后是其余的。

笔记:

  • 错误修复有时可以在Dev中完成并向后移植到分支。
于 2012-11-30T17:39:37.210 回答