从SVN部署文件的最佳实践

3
我阅读了这篇文章(链接:http://guides.beanstalkapp.com/version-control/branching-best-practices.html),其中提供了一些有关部署错误修复和功能请求的“最佳实践”建议,我倾向于同意其中所有写的内容。但是我有一个无法解决的主要问题:
如何仅部署完全测试过的功能,而不会同时部署正在进行测试的文件?
例如:Bug#1影响file1.php。 错误修复在错误分支中编码,由开发人员在本地进行测试,并合并回开发分支。 开发分支部署到测试环境。
功能#1也影响file1.php。它被编码,合并并部署到测试中。
我需要将错误修复(以及可能存在类似冲突的其他100个修复)部署到暂存区。 我现在不想部署新功能,因为还没有进行文档编制、培训等。
如何仅部署错误修复?如何仅部署某些错误修复和某些功能请求,但不是全部?
我考虑追踪每个文件更改并将其链接到错误票证,从错误票证编译文件列表,并手动选择每个文件。 但是这似乎容易出错,并且比所需的工作还要多。
我错过了什么?如何仅部署我想要部署的错误修复和功能集?
1个回答

2
我理解的一种常规方法是:
  1. 对于每个部署版本(例如 1.1),您都有一个标签/分支(在SVN中相同)。
  2. 如果出现关键错误,您会在 ( 1.1 ) 的一个分支中修复该错误,就像您所说的那样。
  3. 将错误合并到( 1.1 )中,创建 ( 1.1.1 ),并同时合并到 dev 。 ( 1.1.1 )进入测试而不是开发

同时:

  1. 功能进入开发
  2. 当您想要发布功能时,您为其创建一个分支(例如 1.2 ),该分支进入 测试 ,然后进入其他地方。

注意:

  • 错误修复有时可以在开发中完成,并且可以向后移植到分支中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接