如何在GitLab的合并请求中解决冲突?

5

我在gitlab中有一个合并请求:

Gitlab Screenshot

我已经批准了这个请求--它看起来很好。我想要与主分支进行合并。

当我去“解决冲突”时,我得到了以下内容:

Gitlab Merge Conflict Screenshot

特别注意,在默认的提交消息中,它似乎正在尝试将'master'合并到'156'中。这与我想要的相反--我想要将这些东西合并到主分支中。

即使我坚定地向前推进,通过选择一个(我不确定哪个是正确的,因为不清楚什么是“我的”和“我们的”...我被带回到了gitlab合并请求页面,并告知还存在冲突,但现在没有在gitlab上执行的按钮,只能本地执行:

enter image description here

我做错了什么?没有通过gitlab合并的方法吗?我必须在本地进行合并,然后将其推送吗?

1个回答

5

Gitlab是正确的。你现在正在解决冲突,将master合并到156里面。

在合并156master之前的第一步,就是要确保这两个分支之间有清洁的树状态,也就是说在156里面先反映所有在master上进行的更改。所以,在将156合并到master之前,你需要先将master合并到156中。

解决方法

这种解决冲突的方法会强制生成非常繁琐的提交消息。我建议在此处对156进行 rebasemaster上,这是无法在Gitlab GUI界面上实现的。请注意,这可能会用master的历史记录覆盖156,但这正是你需要的。

# on branch 156
git fetch
git rebase origin/master
git push -f origin 156

注意:当将156master上进行变基时,ours将是master,而theirs将是156


在原始的合并请求中 -> 解决冲突 ... 是 156个 'ours' 还是 'theirs'? - lowcrawler
它只是在答案中写的 :) - Val Berthe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接