我正在使用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,不确定执行此方法的正确方法,请多加考虑。
答案 0 :(得分:1)
Gitflow定义两个永久分支(master
和develop
)。
master
分支包含可用于生产的版本(已发布的版本)。
如果您开始发布,则使用您当前从develop
开始的代码库创建到release/x.y.z
分支,完成发布后,release/x.y.z
分支将合并回到master
,并且develop
。
版本更新的目标是:release-start
,您可以通过以下方式影响develop
分支的更新顺序:commitDevelopmentVersionAtStart
例如分支pom.xml
上development
中的版本为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-SNAPSHOT
, master
上的版本尚未更新(尚未)。要“更新” 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: 0
将development
上的主要版本更新为2.0.0-SNAPSHOT
。versionDigitToIncrement: 1
将development
上的主要版本更新为1.1.0-SNAPSHOT
。versionDigitToIncrement: 2
将development
上的主要版本更新为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>