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.
您需要确保 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
我有一个基本问题。
我有一个分支叫做: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.
您需要确保 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