You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gitflow Maven Plugin:hotfix-finish后配置Develop版本升级及Feature分支影响

Gitflow Maven Plugin 配置与Feature分支影响

一、配置hotfix-finish后自动升级develop版本

要实现hotfix完成后,develop分支自动升级到下一个版本的SNAPSHOT,需在项目pom.xml中对gitflow-maven-plugin做如下配置:

  1. 全局插件配置(推荐,无需每次命令指定参数)
    在插件的<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。

  1. 命令行临时指定
    如果不想修改pom,也可以在执行hotfix-finish时显式指定下一个开发版本:
mvn gitflow:hotfix-finish -DdevelopmentVersion=2.3.5-SNAPSHOT

二、对已开放Feature分支的影响

  • 开放的feature分支不会自动同步develop的版本变更,因为它们是基于hotfix完成前的develop版本创建的。
  • 若要让feature分支使用新的版本,需要手动将develop分支合并到feature分支:
    git checkout feature/your-feature-name
    git merge develop
    
    合并后插件会自动更新pom版本(如果开启了autoVersionSubmodules),或者手动执行mvn versions:set -DnewVersion=X.Y.Z-SNAPSHOT统一版本。
  • 若不提前合并,后续将feature分支合并回develop时,会出现pom.xml的版本冲突,需要手动解决冲突后完成合并。

内容的提问来源于stack exchange,提问作者ostr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 08:15:33