在GitLab上将分支合并到主分支(master)

3

我有一个基本问题。

我有一个名为:foo的分支。 我创建了一个名为“foo”的合并请求。

GitLab说与主分支存在合并冲突,因此我无法自动合并。这是因为有一个名为foo.txt的文件在主分支和分支(foo)中都更改了同一行。

我有哪些可用选项?其中一个选项是:

最初的回答:

git fetch origin
git checkout origin/master
git merge --no-ff foo
git push origin master

但我不希望开发人员直接推送到主分支。

我应该如何使我的分支处于合并就绪状态,以便我可以使用GitLab的“自动合并”选项?

请问这里有推荐的工作流程吗?

"Original Answer" 翻译成中文是 "最初的回答"。


1
为什么你不解决冲突呢?然后你就可以提交和推送了。至少在Git中是这样的。 - Christoph
我通过将我的分支变基到主分支来解决冲突,并推送了我的分支。但在GitLab中仍然显示我的分支无法合并。 - user1189332
@user1189332 在你推送到分支时,是否包含了 --force 选项(或 -f)?如果没有的话,你的变基提交不应该被推送到远程仓库。 - ik1ne
2个回答

0
你可以解决分支foo上的冲突。
git checkout foo
git merge master
# resolve conflicts 
git merge --continue

现在你在分支foo上拥有适用于主分支的状态。你可以在没有任何冲突的情况下合并到主分支:

git checkout master
git merge --no-ff foo

0
我通过将我的分支重新基于主分支来解决了冲突。
你需要确保`master`是`upstream/master`的最新版本,而不是`origin/master`。 确保`git remote -v`显示的是原始仓库的URL(而不是你的分支)。如果没有,请添加一个:`git remote add upstream https://url/original/repo`
如果你在`master`上还没有进行任何提交:
git fetch upstream
git checkout master
git reset --hard upstream/master

git checkout yourBranch
git rebase master
git push --force

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