【问题标题】:Git - Making Changes to Multiple Master BranchesGit - 对多个主分支进行更改
【发布时间】:2017-08-25 02:57:52
【问题描述】:

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

我们最近被要求切换到 Git,并且正在尝试确定最佳工作流程,以便我们需要对所有分支进行相同的更改。到目前为止,我们一直依赖 Cherry Pick 进行每次提交。这很麻烦,必须有更好的方法。

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

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

在将我们的 V1 功能合并到 V1 主服务器上之前,我们重新定位到 V1 主服务器。这很简单,也很有意义,因为 V1 Feature 是从 V1 Master 分支出来的。但是,现在我们希望将相同的 D 和 E 提交应用于 V2 Master。分支足够相似,以至于这些提交不应该引起冲突。现在我们只是逐个按顺序挑选它们。

我一直在四处寻找,但无法找到解决此问题的最佳方法,因为 Cherry Pick 不可能是正确的方法。

【问题讨论】:

标签: git git-branch git-merge git-rebase


【解决方案1】:

注意:您的架构并未说明变基,而是合并。

樱桃采摘适用于multiple commits in one command
这是一个很好的解决方案,前提是您从中挑选樱桃的分支(masterV1)永远不会合并到挑选樱桃的目标分支(masterv2)

那是因为樱桃挑选duplicates a commit
而且你需要确保你挑选的提交有 no functional dependencies 基于之前的提交(源分支的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 2012-01-21
    • 1970-01-01
    • 2020-04-12
    • 2014-06-08
    • 2014-09-19
    相关资源
    最近更新 更多