【发布时间】:2019-05-31 16:54:32
【问题描述】:
我最近一直在研究基于主干的开发 (https://trunkbaseddevelopment.com),我们所做的工作非常适合这种方法(小团队、频繁发布、一些直接提交或短期分支等)。
我唯一的困难是标记版本。我们进行 CI,但并非所有产品都投入生产,我们希望在代码交付到客户环境后增加(更改)版本。
在主干基础开发中(以惯用的方式)我应该如何发布?你对 master 上的发布提交有什么感觉?我可以看到两种方法(我正在使用 Java + Maven 位,这只是应该出现的工具)。
方法#1
- //trunk中的版本信息:'SNAPSHOT'
- git checkout -b release/1.11
- //在发布分支上更新版本并提交
- //构建完整的项目并发布
- git checkout master
- //继续功能
方法 #2
- //trunk中的版本信息:'1.11-SNAPSHOT'
- git 分支发布/1.11
- //将master分支上的版本更新为1.12-SNAPSHOT'
- git checkout release/1.11
- // 将发布分支上的版本更新为“1.11”并提交
- //构建完整的项目并发布
- git checkout master
- // 继续功能
第二种方法会在存储库的历史记录中留下一个提交,我不知道对此有何感受。后一种方法使代码更易于跟踪,并且发布过程更容易一些。
顺便说一句,我不太关心错误修复等。我们确实发布了一个新版本。但如果需要修补程序,我们计划挑选
【问题讨论】:
标签: git release release-management