Gitflow Maven Plugin:hotfix-finish后配置Develop版本升级及Feature分支影响
Gitflow Maven Plugin 配置与Feature分支影响
一、配置hotfix-finish后自动升级develop版本
要实现hotfix完成后,develop分支自动升级到下一个版本的SNAPSHOT,需在项目pom.xml中对gitflow-maven-plugin做如下配置:
- 全局插件配置(推荐,无需每次命令指定参数)
在插件的<configuration>节点中添加版本推导规则和hotfixFinish的自动版本设置:
<build> <plugins> <plugin> <groupId>com.amashchenko.maven.plugin</groupId> <artifactId>gitflow-maven-plugin</artifactId> <version>1.12.0</version> <configuration> <!-- 多模块项目需开启,确保子模块版本同步更新 --> <autoVersionSubmodules>true</autoVersionSubmodules> <!-- 配置版本匹配与递增规则,示例为补丁版本+1 --> <versionPattern>^(\\d+)\\.(\\d+)\\.(\\d+)$</versionPattern> <nextVersionPattern>$1.$2.($3+1)-SNAPSHOT</nextVersionPattern> <!-- hotfix完成后自动应用推导的开发版本 --> <hotfixFinish> <developmentVersion>${nextSnapshotVersion}</developmentVersion> </hotfixFinish> <!-- 可选:自动推送到远程仓库 --> <pushRemote>origin</pushRemote> </configuration> </plugin> </plugins> </build>
这里的nextVersionPattern定义了版本递增逻辑,你可以根据需求调整,比如要递增次版本可改为$1.($2+1).0-SNAPSHOT。
- 命令行临时指定
如果不想修改pom,也可以在执行hotfix-finish时显式指定下一个开发版本:
mvn gitflow:hotfix-finish -DdevelopmentVersion=2.3.5-SNAPSHOT
二、对已开放Feature分支的影响
- 开放的feature分支不会自动同步develop的版本变更,因为它们是基于hotfix完成前的develop版本创建的。
- 若要让feature分支使用新的版本,需要手动将develop分支合并到feature分支:
合并后插件会自动更新pom版本(如果开启了git checkout feature/your-feature-name git merge developautoVersionSubmodules),或者手动执行mvn versions:set -DnewVersion=X.Y.Z-SNAPSHOT统一版本。 - 若不提前合并,后续将feature分支合并回develop时,会出现pom.xml的版本冲突,需要手动解决冲突后完成合并。
内容的提问来源于stack exchange,提问作者ostr
相关产品推荐
相关产品推荐

