Git - 对多个主分支进行更改

问题描述:

我的一小组开发人员为我们公司的几个不同版本的核心产品创建和维护接口。我们的核心产品的不同版本大多是相似的,但是有一些差异要求我们将代码保存在每个版本的单独分支中。一切都在同一个存储库中。Git - 对多个主分支进行更改

我们最近需要切换到Git,并试图确定当我们需要对所有分支做出相同更改时的最佳工作流程。迄今为止,我们一直依靠Cherry Pick进行每一次提交。这很麻烦,必须有更好的方法。

下面是我们正在做的一个例子:

V1 Master: ... (A1)--(B1)--(C1)---------(M) 
           \  /
V1 Feature:     (D)----(E) 
            /
V2 Master: ... (A2)--(B2)--(C2) <--? 

之前将我们的V1功能在V1的主人,我们重订到V1主。这很简单,因为V1功能是从V1 Master分支出来的。但是,现在我们需要将相同的D和E提交应用于V2 Master。这些分支足够相似,这些提交不应引起冲突。现在我们只是Cherry挑选他们,并按顺序。

我一直在寻找,我无法弄清楚最好的方法去做这件事,因为樱桃挑选不能是正确的方式来做到这一点。

+0

[管理多个客户的多个git发布分支]可能的副本(https://*.com/questions/39035631/manage-multiple-git-release-branches-for-multiple-customers) – max630

注意:您的架构没有演示rebase,而是合并。

樱桃采摘工程multiple commits in one command
这是一个很好的解决方案,提供的分支从中你是樱桃采摘(masterV1)将永远不会被合并到樱桃采摘目的地分支(masterv2)

这是因为樱桃采摘duplicates a commit
而且您需要确保您基于之前提交(源分支)提交的樱桃采摘提交no functional dependencies