项目开发使用 git工作流插件 -- jgitflow开发实践

使用技术

规范

  1. 默认情况下会有连个分支,develop,master。这两个分支不能更改代码(插件更新的除外)。
  2. 与git服务器交互尽量使用密钥形式,不然 jgitflow 插件会提示输入密码,很烦人。
  3. 应用中可能会与技术的设计理念有冲突,请大家灵活变通。

新功能开发

  1. 使用 mvn jgitflow:feature-start 命令开启一个feature分支,在此分支中进行功能编写。
  2. 将开发模块发不到私服使用(SNAPSHOT 版本),mvn jgitflow:feature-deploy
  3. 开发完成后,使用 mvn jgitflow:feature-finish 完成功能模块,此时插件会将代码合并到develop分支,并删除分支

测试环节

  1. 切换回develop分支(使用 mvn jgitflow:feature-finish 命令时当前分支删除,会自动切换会develop分支)。
  2. 使用 mvn jgitflow:release-start 开启一个预发分支,在此分支进行测试,修复bug。
  3. 开启预发分支后,插件会自动升级develop分支中的maven版本。之后开启新的 feature 分支就是新版本。

发布环节

  1. 测试环节通过后,使用 mvn jgitflow:release-finish 完成当前分支,此时插件会将代码合并到develop分支,和master分支。合并到master分支时会将代码中的 SNAPSHOT 升级为 RELEASE
    版本,并且会提交一个以当前版本号为名的tag。当前分支会被删除。
  2. 自动发布的流水线监听到新tag,以当前master版本代码升级线上版本。

修复 bug

  1. 切换到master分支(切换时确保当前代码都以commit)
  2. 使用 mvn jgitflow:hotfix-start 创建一个修复分支,再次版本修改问题。
  3. 如需在测试环境进行测分两种情况
    1. 当前没有测试环境,可将当前分支当作测试环境,更新测试环境代码。
    2. 当前有测试环境正在测试,想与当前测试环境一起测试。手动切到当前测试环境的 release 分支,将代码合并到这里,⚠️此次合并必会有冲突,因为两个分支的maven版本不同。如没有修改pom文件内容,可直接使用 release
      分支上的 maven 版本。如若有修改pom文件则只修改内容,不修改 release 分支上版本。
  4. 修复完成后,使用 mvn jgitflow:hotfix-finish 完成当前分支,此时插件会将代码合并到develop分支,和master分支。master分支版本升级并创建新tag,develop中版本不变。
  5. 执行发布环节
相关推荐
先跑起来再说5 小时前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea
承渊政道8 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
Doro再努力9 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
摇滚侠11 小时前
MAC IDEA GIT 提交区显示了几个不存在的目录
git·idea
城东12 小时前
Git使用[远程仓库远端的head比本地和提交的head旧,其他人拉不到最新代码]
git·head·远程仓库远端·比本地和提交的head旧·其他人拉不到最新代码
何中应21 小时前
使用SSH地址拉取远程仓库代码报下面的错误
git
何中应21 小时前
Git本地仓库命令补充
git
sun0077001 天前
执行repo sync -c -d -j4以后,提交未git push的代码看不到了。要怎么恢复?
git
胖虎11 天前
Git 一个本地仓库同时推送到两个远程仓库(详细教程)
git·多远程仓库·双远程仓库·git双远程·git备份
春日见1 天前
如何创建一个PR
运维·开发语言·windows·git·docker·容器