Git将分支合并到GitLab上的master

Git将分支合并到GitLab上的master,git,gitlab,git-merge,git-rebase,Git,Gitlab,Git Merge,Git Rebase,我这里有一个基本问题 我有一个分支叫:foo 我已经为“foo”创建了一个合并请求 GitLab表示与master存在合并冲突,因此无法自动合并。这是因为有一个名为foo.txt的文件在主分支(foo)中更改了同一行 我在这里有什么选择?一种选择是: git fetch origin git checkout origin/master git merge --no-ff foo git push origin master 但我不希望开发人员能够直接推式访问主服务器 如何使分支处于合并就绪状

我这里有一个基本问题

我有一个分支叫:foo 我已经为“foo”创建了一个合并请求

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

我在这里有什么选择?一种选择是:

git fetch origin
git checkout origin/master
git merge --no-ff foo
git push origin master
但我不希望开发人员能够直接推式访问主服务器

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


我可以知道这里推荐的工作流程吗?

您可以解决分支foo上的冲突:

git checkout foo
git merge master
# resolve conflicts 
git merge --continue
现在您拥有了分支foo上的master的状态。您可以合并到主服务器而不发生任何冲突:

git checkout master
git merge --no-ff foo

我通过将我的分支重新定位到master上解决了冲突

您需要确保
master
上游/master
中的最新版本,而不是
origin/master

确保
git remote-v
确实显示了原始回购协议的URL上游(而不是您的fork)。如果没有,请添加一个:
git remote add upstreamhttps://url/original/repo

如果您尚未对
master
本身进行任何提交:

git fetch upstream
git checkout master
git reset --hard upstream/master

git checkout yourBranch
git rebase master
git push --force

你为什么不解决这场冲突?然后你可以提交和推送。至少在git中。我通过将我的分支重新定位到master上解决了冲突。推着我的树枝。但仍然显示我的分支在GitLab中不可合并。@user1189332在推送到分支时是否包含--force选项(或-f)?否则,您的重定基础提交就不应该被推送到源。