git:合并已经被错误合并的分支

问题描述 投票:0回答:1

分支策略和一些背景

我的团队有几个子团队,每个子团队都有其专门的分支,负责一个单独的项目。 主分支具有通用功能,并包含所有项目使用的主要软件组件(我们称之为系统 P)。我们每个月左右在master分支升级系统P,项目在必要时将master分支合并到各个项目分支中。截至今天,master 分支位于系统 P 的 99 版本上。

我的项目分支(我们称之为M分支)与master有很大的分歧。事实上,自从我们 5 个月前创建 M 以来,master 从未合并到 M 分支中。

我的任务是将M更新到99。

方法

我决定从97开始逐步合并,一个接一个,解决冲突,构建,然后进入下一个版本。

问题

在尝试合并97时,我得到了一个

"Already up to date."
经过挖掘,我发现一位同事在3个月前无意中将master合并到了他的功能分支,该分支将被合并到M。奇怪的部分(我不确定这是怎么发生的)是,即使合并了,97的内容也从未出现在最终的PR中,也从未添加到他的功能分支或M中(他不记得发生了什么。我查看了历史记录,从来没有恢复提交)。所以我的情况是,就 git 而言,97 与 M 合并,但 M 的实际内容丢失了。

问题

那么,当 git 无法合并时,如何在不更改历史记录的情况下将 97 合并到 M 中呢?我应该尝试从 M 中删除错误的合并提交,然后尝试将 master 与 M 合并吗?

如果更改历史记录是最后的手段,我的子团队愿意与我合作,但如果我们必须重新设定基准,他们需要采取哪些步骤?如果他们在当地没有分行,会受到影响吗?

git merge rebase branching-and-merging
1个回答
0
投票

那么,当 git 无法合并时,如何在不更改历史记录的情况下将 97 合并到 M 中?

创建一个新分支,将 97 选入其中,解决合并冲突,然后合并新分支。

© www.soinside.com 2019 - 2024. All rights reserved.