2

我们希望将所有生产版本都放在一个分支上。因此,当我们准备好 RC 时,我们希望将该分支与我们的开发分支保持同步,进行 RC 构建并应用修补程序,直到我们高兴地发布该版本。在这种情况下,我们团队的其他成员将继续在我们的开发分支上工作。

诀窍是,我们不想将 dev 分支中的更改合并到此版本分支中,我们希望它只是 dev 分支的精确副本——因此基本上忽略了发布中发生的任何先前的修补程序/等工作分支,因为无论如何这些都会被拉入 dev 分支。造成这种情况的原因之一是我们处理了很多不能很好地合并的二进制文件,另一个是我们的 dev 分支会经过更严格的测试,并且替换会更安全。

最后的细节是,我们确实希望在发布分支中仍然保留旧的提交和标签,以防我们需要修复旧版本(我们会为此分支)。

如果我们找不到与之匹配的解决方案,我们的替代方案是每个版本都有一个分支,但这似乎很混乱。

4

2 回答 2

0

一种解决方案是简单地将您的 prod 分支重置为下一个 RC 提交。
但这会失去所说的产品分支的历史。

另一种解决方案是merge --theirs:所有选项都列在“ git command for making a branch like another ”中。
qqx脚本使用了这个答案中提到的提交树。

于 2012-11-20T15:50:33.630 回答
0

我不久前开发了这个脚本来做你所描述的几乎完全一样的事情。要使用它,请检查您的发布分支,然后运行此脚本,提供您要合并的开发分支的名称。它将创建一个新的提交,记录这两个分支的合并,但树将与提供名称作为参数的分支中的完全相同。

我实际上并没有最终将其用于实际部署,因此尚未在现实​​世界中进行测试,仅在开发情况下进行了测试。

于 2012-11-20T15:49:46.280 回答