我们从客户那里收到了不寻常的要求,我们需要在产品中为旧版本提供新功能。我们的分支结构如下。
我们有三个分支 master
、release 1
和 release 2
(名字不是真实的)。我们 c1、c2、r1、c3、c4 等是 master 分支上的提交,其他分支的相应提交以相同的方式显示。我们必须对 release 1 分支进行更改,并且我们在同一分支上进行了多次提交以完成该功能。我们不想将这些更改合并到 master 分支,最好的方法是什么?我知道 cherry-pick
选项,但由于提交太多,看起来工作量很大,有机会错过其中的一些。 merge
是一个选项吗?我该如何执行?
答案 0 :(得分:0)
只需使用 git merge。根据文档:https://git-scm.com/docs/git-merge
这正是您在需求中想要做的:用版本 1 替换主题。
所以你应该:
git checkout master
git merge "release 1"
分支版本 1 中的所有更改都将在主分支上重放,因为它们已经发生分歧,并且将创建一个新的合并提交。