美文网首页
基于jgitflow插件使用git flow

基于jgitflow插件使用git flow

作者: 同桌的桌 | 来源:发表于2017-11-23 18:54 被阅读0次

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

    开发流程:

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

    发布流程:

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

    修复bug:

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

    添加插件

    pom 中加入jgitflow插件:

    <plugin>
        <groupId>external.atlassian.jgitflow</groupId>
        <artifactId>jgitflow-maven-plugin</artifactId>
        <version>1.0-m3</version>
        <configuration>
            <!-- see goals wiki page for configuration options -->
            <flowInitContext>
                <masterBranchName>master</masterBranchName>
                <developBranchName>develop</developBranchName>
                <featureBranchPrefix>feature-</featureBranchPrefix>
                <releaseBranchPrefix>release-</releaseBranchPrefix>
                <hotfixBranchPrefix>hotfix-</hotfixBranchPrefix>
                <versionTagPrefix>loan-</versionTagPrefix>
            </flowInitContext>
            <username>name@9188.com</username>
            <password>yourpassword</password>
        </configuration>
    </plugin>
    

    使用命令

    开始一个新功能

    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

          本文链接:https://www.haomeiwen.com/subject/hectbxtx.html