【发布时间】:2015-05-31 20:21:20
【问题描述】:
在 maven 项目中,项目的版本包含在 pom.xml 文件的 <version> 属性中。在 git flow 模型中创建新版本时,我需要填写版本号。 This article 解释了这是如何完成的(没有 maven):
- 创建发布分支
- 更改版本号并提交
- 将发布分支合并到开发和主控
另外它说:
正是在发布分支的开始,为即将发布的版本分配了一个版本号——而不是更早的版本。在那之前,develop 分支反映了“下一个版本”的变化,但在发布分支启动之前,尚不清楚“下一个版本”最终会变成 0.3 还是 1.0。该决定是在发布分支开始时做出的,并由项目的版本号调整规则执行。
我在这里看到与 maven 相关的两个问题:
- 在 maven 中正在开发的版本将是 [下一个版本]-SNAPSHOT。所以我们不能真正推迟下一个版本的决定,直到我们创建发布分支的那一刻。当然,如果我们以后可以改变主意,但我们已经需要在这里输入 /some value/ 了。
- 在创建我们的版本之前,pom.xml 中的版本假设为
1.1-SNAPSHOT。现在我们在发布分支上将其更改为简单的1.1并将其合并到master。美好的。但是我们也应该将该分支合并回开发,为此我们需要使版本适应例如1.2-SNAPSHOT。也许我们不应该在发布分支上这样做,因为该提交不应该是发布的一部分。实际上,我们可能应该在分支开发后立即进行此更改,因为未来所有关于开发的提交都将用于下一个版本。
当我在谷歌上搜索问题时,我发现了一些关于 maven-plugins 的文章可以自动化这个过程,这可能很有趣,但这个问题实际上是关于 git 图表应该是什么样子以及版本碰撞提交应该在哪里而不是在哪里我如何使用 maven-plugin 自动执行此操作。
【问题讨论】:
-
1) 只需 ++ 到版本。 2)合并开发然后更改版本。并使用一些 gitflow maven 插件,它会比手工做的要好得多。
标签: git maven versioning git-flow