博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gitflow+maven使用详解
阅读量:4299 次
发布时间:2019-05-27

本文共 1291 字,大约阅读时间需要 4 分钟。

gitflow+maven使用详解

本篇博文适用于已理解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用户可参考这里:

使用jgitflow管理gitflow流程

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分支上打包上线。

你可能感兴趣的文章
Laravel框架学习笔记之任务调度(定时任务)
查看>>
laravel 定时任务秒级执行
查看>>
浅析 Laravel 官方文档推荐的 Nginx 配置
查看>>
Swagger在Laravel项目中的使用
查看>>
Laravel 的生命周期
查看>>
CentOS Docker 安装
查看>>
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Mysql出现Table 'performance_schema.session_status' doesn't exist
查看>>
MySQL innert join、left join、right join等理解
查看>>
vivado模块封装ip/edf
查看>>
sdc时序约束
查看>>
Xilinx Jtag Access/svf文件/BSCANE2
查看>>
NoC片上网络
查看>>
开源SoC整理
查看>>
【2020-3-21】Mac安装Homebrew慢,解决办法
查看>>
influxdb 命令行输出时间为 yyyy-MM-dd HH:mm:ss(年月日时分秒)的方法
查看>>
已知子网掩码,确定ip地址范围
查看>>
判断时间或者数字是否连续
查看>>