我一直在寻找,找不到这样的场景(希望我能解释清楚)。
在我的公司中,我们使用具有三个分支的 git(带有 bitbucket):“dev”、“release”和“master”。作为开发团队,我们只能访问“dev”,我们需要提出“pull request”以与其他分支合并。路径应该是:
(local) -> "dev" -> (pull request) -> "release" -> (pull request) -> "master".
但一年前,有人只从“dev”合并到“release”,而“master”已经过时了。团队的其他成员做了一些从“开发”到“发布”的合并,因此,“大师”再次过时了。但是现在,当我们尝试从“release”合并到“master”时,我们注意到的第一件事是“pull request”到“master”包含所有存在于“release”中的提交,并且它抛出一个错误告诉我们存在冲突,必须手动修复。
问题是我们无法访问“master”,根据bitbucket显示的说明,我们需要checkout到“release”,进行更正并再次合并到“master”,但是如果我结帐到“发布”我没有看到代码中的冲突,也无法修复它们。
我发现冲突必须由有权访问“master”的人解决,但我想知道是否有办法在不直接接触“master”的情况下进行合并?我不知道,也许是通过执行“拉取请求”但对于过去的提交(虽然我没有看到该选项)...或者我们可以做什么?
我希望我解释得很好,你可以帮助我。
非常感谢阅读!
答案 0 :(得分:0)
合并冲突是对称的:如果您在本地克隆的 master
中合并 release
,您将遇到与您在 bitbucket 上看到的完全相同的冲突。
所以你可以:
master
合并到 release
release
之后:打开 PR 将 release
合并到 master
将不再引发冲突。