【发布时间】:2015-07-29 11:38:13
【问题描述】:
对于一个项目,假设我有一些发布分支:
release/1.2
release/1.1
release/1.0
这些发布分支基于次要版本。因为它们一直受到支持,所以它们中的每一个都将处于不同的补丁版本,存储在某个构建配置文件的某个位置(在我的例子中是 gradle)。例如:
release/1.2
build.gradle contains "version 1.2.1"
release/1.1
build.gradle contains "version 1.1.4"
release/1.0
build.gradle contains "version 1.0.7"
现在,假设我修复了分支 release/1.0 中的错误。然后我想将此分支合并到下两个分支,以传播修复。一般来说,这会很顺利。
但是,在修复release/1.0 中的错误时,我还想将其补丁版本从 1.0.7 更改为 1.0.8,将文件 build.gradle 更改为包含“版本 1.0.8”。但如果我这样做,合并到下一个版本分支将在该文件上产生冲突。
显然,必须有更好的方法来支持我最初的意图。在这种情况下,最佳做法是什么?
我能想到的一种方法是不将完整版本存储在文件中,而仅使用 git 标签,然后让 gradle(或任何其他构建工具)从 git 标签中获取完整版本。这种方法的一个主要缺点是构建会在从 git 导出的源库上失败。
【问题讨论】: