在我们公司,我们正在从 SvN 迁移到 Git(是的,迟到总比不到好)。为此,我们还尝试简化版本控制过程。为此,我找到了一篇有趣的文章:Vincent Driessen 的 Successful Git Branching Model。
据我从这篇文章中读到的,开发人员假设是线性发布。明确一点:
v1.0.0 --> v1.0.1 --> v1.0.2 --> v1.1.0 --> v1.1.1 etc
未提及对旧版本的支持。例如:我们最多支持三个大版本回退,因为有些客户不想升级。假设我们有以下版本:
v7.0.0 --> v8.0.0 --> v9.0.0 --> v10.0.0
当 v8.0.0
v9.0.0
发布后发现严重错误时,我们检查标记 v8 .0.0
,修复bug, merge 回develop
和master
分支。 merge 到 master
获取标签 v8.0.1
。
在我看来有些奇怪,因为两件事:
master
时间线看起来像v7.0.0 --> v8.0.0 --> v9.0.0 --> v8.0.1 --> v10.0.0
.我完全知道这是可能的,但它也可以接受吗?- 当我从
hotfix
merge 到master
时(当时master
是v9.0.0
)并用v8.0.1
标记,我是否也能获得在v8.0.0
和v9.0.0
之间引入的功能?
提前致谢!
最佳答案
对我来说,标签v8.0.1
应该是 merge master
之前的提交。如果您想修补新版本,那么您也可以在那里 merge 其他标签。
v8.0.0 --> v9.0.0 --> v10.0.0
\ \ \
v8.0.1 --> v9.0.1 --> v10.0.1/master
关于git - 使用成功的 Git 分支模型支持多个版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194174/