基于jgitflow插件使用git flow

本文使用jgitflow插件简化实现git flow工作流程,具体流程参考Git工作流程最佳实践--git flow

开发流程:

每次开发从develop拉出feature分支,开发完成后合并到dev分支。

发布流程:

从develop分支检出release分支,测试完成后合并回develop分支和master分支

修复bug:

从master分支检出hotfix分支,测试完成后合并回develop(如果存在release,合并到release)分支和master分支

添加插件

pom 中加入jgitflow插件:


    external.atlassian.jgitflow
    jgitflow-maven-plugin
    1.0-m3
    
        
        
            master
            develop
            feature-
            release-
            hotfix-
            loan-
        
        [email protected]
        yourpassword
    

使用命令

开始一个新功能

mvn jgitflow:feature-start -DfeatureName=myfeature -DallowSnapshots=true

完成一个新功能

开发完成,合并回dev分支,删除feature分支

mvn jgitflow:feature-finish

开始发布

自动拉出release分支并升级版本号。确保pom中没有snapshot版本的依赖。

在工程目录下执行命令:mvn jgitflow:release-start -DreleaseVersion=上线后的正式版本号 -DdevelopmentVersion=下一次使用的版本号 -DpushReleases=true -DallowSnapshots=true

如当前工程是1.0.0-SNAPSHOT版本,则上线后版本应为1.0.0,对应的下一次开发版本号为1.1.0-SNAPSHOT,此时命令为

mvn jgitflow:release-start -DreleaseVersion=1.0.0 -DdevelopmentVersion=1.1.0-SNAPSHOT -DpushReleases=true -DallowSnapshots=true

执行完成后,将在本地自动生成一个release分支,名为:release-1.0.0

完成发布

发布:将relase分支合并到master并打tag。执行命令

mvn jgitflow:release-finish -DnoReleaseBuild=true -DnoDeploy=true -DpushReleases=true

完成后relese自动合并到master并且打tag。

pom中的版本号也相应改变,这是此时dev分支的版本号:1.1.0-SNAPSHOT

最后在master分支上打包上线。

修复bug,创建hotfix分支

mvn jgitflow:hotfix-start -DallowSnapshots=true

修复bug完成

mvn jgitflow:hotfix-finish

build-number

命令:

mvn jgitflow:build-number -DbuildNumber=1.0.0

说明:

通过添加build版本号"-buildX"来修改当前分支中的pom版本号,其中“X”是通过参数传入的用来保证CI任务中每次构建的版本号是唯一的并且是非SNAPSHOT。

本文参考:jgit-flow 插件

你可能感兴趣的:(基于jgitflow插件使用git flow)