我们正在使用gitflow的变体作为我们的分支策略。使用master
分支初始化项目,并将工件版本(在pom.xml中,我们使用maven)设置为0.0.0
,将dev
分支更新为版本快照版本1.0.0-SNAPSHOT
:
所有这些都是通过初始化脚本完成的。这两个分支都是protected。这两个分支都受到TeamCity作业的监视,这些作业在任何提交时都会触发工件构建。
所有工作都是使用功能分支完成的:
最后的合并实际上是一个pull request,该合并一旦获得批准,将被合并并删除功能分支。这也会触发快照工件的构建(因为有dev
的提交)。
发布是通过创建发行分支(TeamCity的“开始发行”作业创建分支并更正版本)完成的:
确定发行版是我遇到的麻烦:
我们创建从发布分支到master
和dev
的拉取请求。向dev
的拉取请求存在冲突,因为两个分支中的版本分别进行了更新。我该如何解决?
1.2.2-SNAPSHOT
在上面,这将创建对release分支的提交,并且混乱
与对master
的拉取请求。1.1.2
(无快照)的对开发的提交触发
错误的工件构建和部署。我也不确定合并后dev
中的版本。例如,如果dev
中的版本为1.2.5-SNAPSHOT
,并且发行分支的版本为1.1.2
,那么发行分支合并到dev
之后的版本应该是什么?
编辑:
只有通过对源分支进行更改,才能解决具有冲突的拉取请求:
在上面的示例中,master
具有最新版本,我正尝试将其发布到dev
中,这导致了请求请求中的冲突。试图解决这一问题,只有将更改提交到master
上,这是错误的。