Git 在 GitLab 上合并一个分支到 master

Git Merge a branch to master on GitLab

我有一个基本问题。

我有一个分支叫做:foo 我已经为 "foo".

创建了一个合并请求

GitLab 说与 master 有合并冲突所以我不能自动合并。这是因为有一个名为 foo.txt 的文件在主分支和分支 (foo) 中更改了同一行。

我在这里有哪些选择?一种选择是:

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

但我不希望开发人员直接推送访问 master。

如何使我的分支处于合并就绪状态,以便我可以使用 GitLab 的 "Auto Merge" 选项?

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

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

git checkout foo
git merge master
# resolve conflicts 
git merge --continue

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

git checkout master
git merge --no-ff foo

I resolved the conflict by rebasing my branch onto master.

您需要确保 masterupstream/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