本文共 1291 字,大约阅读时间需要 4 分钟。
本篇博文适用于已理解gitflow流程,想使用gitflow工具更好管理整个gitlow流程的读者。
关于什么是gitflow可以移步这里:根据gitflow流程,每次开发从dev拉出feature分支,开发完成后合并到dev分支。之后使用gitflow自动完成下述流程:每次准备上线时从dev合并到master前拉release分支,将release合并到master并打tag,同时如有需要对pom中的包版本进行自动升级,并且对pom中的依赖进行校验,确保不依赖snapshot版本的包。
1.安装maven:在这里不详述了,有需要的读者可自行百度。
2.安装gitflow:mac和Linux用户安装brew后可直接使用brew install git-flow安装 ,windows用户可参考这里:1.在pom文件中增加jgitflow插件。强烈建议使用1.0-m3版本,后续版本对git的版本有较强要求。
<build> <plugins> <plugin> <groupId>external.atlassian.jgitflow</groupId> <artifactId>jgitflow-maven-plugin</artifactId> <version>1.0-m3</version> </plugin> </plugins> </build>
2.当一个功能开发完成后,手动将feature分支合并到dev分支,准备上线。 3.自动拉release分支并升级版本号。确保pom中没有snapshot版本的依赖,在工程目录下执行命令:mvn jgitflow:release-start -DreleaseVersion=上线后的正式版本号 -DdevelopmentVersion=下一次使用的版本号 -DpushReleases=true -DallowSnapshots=true 如当前工程是1.3.0-SNAPSHOT版本,则上线后版本应为1.3.0,对应的下一次开发版本号为1.4.0-SNAPSHOT,此时命令为:mvn jgitflow:release-start -DreleaseVersion=1.3.0 -DdevelopmentVersion=1.4.0-SNAPSHOT -DpushReleases=true -DallowSnapshots=true 执行完成后,将在本地自动生成一个release分支,如图。 4.将relase分支合并到master并打tag。执行命令mvn jgitflow:release-finish -DnoReleaseBuild=true -DnoDeploy=true -DpushReleases=true,完成后relese自动合并到master并且打tag,如图。 pom中的版本号也相应改变,这是此时dev分支的版本号: 这是master的版本号: 5.在master分支上打包上线。