使用gitflow-maven-plugin从release分支释放到master的正确maven命令是什么?

时间:2019-11-27 12:48:36

标签: java git maven semantic-versioning jgitflow-maven-plugin

我正在使用gitflow-maven-plugin在IntelliJ中测试版本控制,我想手动更新主要版本和次要版本:

mvn -B gitflow:release-start -DcommitDevelopmentVersionAtStart=true -DversionDigitToIncrement=0

此命令后,创建了一个新的发行分支,称为“ release / 1.0.14”,现在pom文件中的develop分支版本为“ 1.1.0-SNAPSHOT”(我要的是它会更新次要版本,但我不确定为什么在发布分支时它是1.0.14),下一步是更新到master分支,我尝试过:

-B gitflow:release-finish -DversionDigitToIncrement=0 -X

但这不是我想要的,我想主服务器将首先更新为1.0.14,然后更新为1.1.0?但是,执行此命令后,development中的版本变为1.0.15-SNAPSHOT,不确定执行此方法的正确方法,请多加考虑。

1 个答案:

答案 0 :(得分:1)

Gitflow定义两个永久分支(masterdevelop)。 master分支包含可用于生产的版本(已发布的版本)。 如果您开始发布,则使用您当前从develop开始的代码库创建到release/x.y.z分支,完成发布后,release/x.y.z分支将合并回到master,并且develop

版本更新的目标是:release-start,您可以通过以下方式影响develop分支的更新顺序:commitDevelopmentVersionAtStart

例如分支pom.xmldevelopment中的版本为1.0.14-SNAPSHOT 如果您现在执行:

mvn gitflow:release-start -B -DversionDigitToIncrement=1 -DcommitDevelopmentVersionAtStart=true 

您应该以版本为release/1.0.14的新发行分支1.0.14结尾,分支pom.xml上您development的版本已更新为1.1.0-SNAPSHOTmaster上的版本尚未更新(尚未)。要“更新” master上的版本,您需要完成发行。


我有点误解了您的问题-为此,我还添加了您在另一个问题中提出的这一部分。

在以下位置查看文档:{​​{3}}(搜索:versionDigitToIncrement

gitflow:release-finish和gitflow:release目标具有versionDigitToIncrement参数,该参数控制在下一个开发版本中要递增的位数。从零开始。例如,如果发行版本为1.2.3.4,并且versionDigitToIncrement设置为1,则下一个开发版本将为1.3.0.0-SNAPSHOT。如果未设置或设置为无效值,则默认为版本中的最后一位递增。

来自1.0.14-SNAPSHOT

  • versionDigitToIncrement: 0development上的主要版本更新为2.0.0-SNAPSHOT
  • versionDigitToIncrement: 1development上的主要版本更新为1.1.0-SNAPSHOT
  • versionDigitToIncrement: 2development上的主要版本更新为1.0.15-SNAPSHOT

但是似乎在cli上传递的-DversionDigitToIncrement被忽略了。在pom.xml的配置区域中进行设置会产生预期的结果。

<plugin>
  <groupId>com.amashchenko.maven.plugin</groupId>
  <artifactId>gitflow-maven-plugin</artifactId>
  <version>1.14.0</version>
  <configuration>
    <versionDigitToIncrement>1</versionDigitToIncrement>
  </configuration>
</plugin>