Gitflow,工件版本和提取请求

时间:2019-07-17 13:02:48

标签: git branch release-management git-flow semantic-versioning

我们正在使用gitflow的变体作为我们的分支策略。使用master分支初始化项目,并将工件版本(在pom.xml中,我们使用maven)设置为0.0.0,将dev分支更新为版本快照版本1.0.0-SNAPSHOT

project initialization

所有这些都是通过初始化脚本完成的。这两个分支都是protected。这两个分支都受到TeamCity作业的监视,这些作业在任何提交时都会触发工件构建。

所有工作都是使用功能分支完成的:

Feature branch creation and merge

最后的合并实际上是一个pull request,该合并一旦获得批准,将被合并并删除功能分支。这也会触发快照工件的构建(因为有dev的提交)。

发布是通过创建发行分支(TeamCity的“开始发行”作业创建分支并更正版本)完成的:

Start release process

确定发行版是我遇到的麻烦:

Finalize release

我们创建从发布分支到masterdev的拉取请求。向dev的拉取请求存在冲突,因为两个分支中的版本分别进行了更新。我该如何解决?

  • 如果我解决了冲突以将版本更正为1.2.2-SNAPSHOT 在上面,这将创建对release分支的提交,并且混乱 与对master的拉取请求。
  • 如果我解决了冲突后无法更正版本(如 图片)使用版本1.1.2(无快照)的对开发的提交触发 错误的工件构建和部署。

我也不确定合并后dev中的版本。例如,如果dev中的版本为1.2.5-SNAPSHOT,并且发行分支的版本为1.1.2,那么发行分支合并到dev之后的版本应该是什么?

编辑:

只有通过对源分支进行更改,才能解决具有冲突的拉取请求:

conflicts

在上面的示例中,master具有最新版本,我正尝试将其发布到dev中,这导致了请求请求中的冲突。试图解决这一问题,只有将更改提交到master上,这是错误的。

0 个答案:

没有答案