branching-and-merging - 如何设置动态 svn 分支 - 与正常策略的偏差
问题描述
我有一个不那么正常的要求-
我有一个带有一个主干的 SVN 项目;一个开发分支 & 可能具有分支。每个团队成员都从 dev 中提取功能分支(不是以任何特定顺序)并开始编码,我们都并行进行。
假设我有 10 个要求,所以 10 个功能分支(1,2,...,10)并且所有的都是并行处理的。编码后,我们将所有这 10 个分支合并到 dev 分支中,并部署在 UAT 中,其中 dev 分支使用所有代码进行更新。但是当涉及到生产移动时,有些情况下只需要提升 4 (1, 5, 9, 10) 个特性中的一些,因此我们必须始终从主干中改进代码,从 dev 分支中挑选更改并合并它进入后备箱。但这是一个非常资源丰富的过程并且非常容易出错,因为我们需要从主干获取最新代码并合并其中的选择性更改,并且再次必须推动另一个 UAT。
有没有办法我可以选择任何随机功能分支并合并到 dev 并最终合并到主干中而无需任何改造和保存多轮 UAT?
解决方案
因此,我们必须在经过深思熟虑后制定策略。
- 启用新的 prod 等效环境 - preprod/或 os
- 就代码/配置而言,新的 preprod 将始终等同于 prod
- 只允许用户在 UAT 上签核
- 在进行任何产品促销之前,用户必须提前确认要推广到产品的功能
- 一旦确认,我们将挑选/合并这些更改到发布或主干并推送到 preprod
- 要求用户确认 preprod
- 最后将主干/释放推到产品上
推荐阅读
- javascript - 如何在 Nativescript 应用程序中调用 axios/api 调用
- mysql - 使用 mysql 存储过程创建多个视图
- vue.js - 在按钮按下时更改列表对象的类别
- php - 如何递归父和子这个对象数组
- javascript - iOS 上的图像加载然后消失,然后当我转到设置并返回它们重新出现的页面时
- css - 字体粗体不适用于@font-face,chrome 72
- javascript - 我可以在 chrome 扩展中使用 puppeteer
- mysql - 使用具有多行和多列的条件更新表
- xvfb - 使用 xrdp 隧道连接到现有的 X 服务器
- c++ - 来自 ta-lib 的错误数据