我们遵循基本版本/主/特征分支模型
- 主线是主线
- 每个新功能都是在从主人划出并合并为主的新功能分支上开发的,
- 在计划发布时,释放分支是用主人雕刻的。
雕刻释放分支后,如果在QA/UAT测试期间或发布后发现任何问题,我们将其修复在释放分支本身上。我们如何确保主人也存在所有此类修复程序?常见的建议是将发布分支合并为主。这听起来不错,但是如果发布分支的修复不是绝对正确的(例如由于时间限制而引入了黑客),并且主人具有适当的修复分支。关于如何解决这个问题的任何建议?
您应该根据发行版制作一个新的分支,在其上合并主人,调整修复程序,然后提出与该混合分支的拉动请求。
您可以以不同的方式处理此问题。我建议您每天使用的最常见的开源项目中使用的分支模型/策略。
像您一样,主线是分支称为Master。主包含下一个版本。主是您的发行分支。如果您是42.43版本,则... Mater包含从42.43.0到42.43的发布。其中 *是路径/修复的数量。
现在,...假设有一个新的版本要构建,并进行破坏的变化或一些巨大的重构。现在是时候创建分支42.43的时候了,如果您几乎没有修改或43.0。
主人将是前者或后者。开发版本始终留在Mater分支机构。旧的可维护版本留在分支中。
如何进行主要开发修复?
假设有版本
- 主(您正在准备3.0.0版)
- 2.4(上一个版本)
- 1.7(旧版本)
如果您在1.7中找到一个错误,请从那里开始一个分支。可能您会拥有1.7.42的标签。在1.7分支中,您正在建造1.7。*发布。只是...
- 1.7 开放分支
- 看一个最新标签(我使用git Driddic-标签以寻求帮助)
- 修复次要版本
- 标记新路径1.7。( 1)
完成后,...仅将分支1.7合并为2.4。标记新2.4。( 1)。并做同样的事情直到主分支。
-----*----* this is master
/ /
-----*----* this is 2.4
/
----*-- this is 1.7
希望这有帮助