合并阻塞:无法进行快进合并.要合并此请求,首先在本地重新定位



我在两个分支上工作,他们对develop分支有一个开放的拉取请求。

我的两个分支是:

  1. test-increase-test-coverage
  2. feat-add-daily-mileage

当我想将它们与develop分支合并时,我得到了这个错误:
Merge blocked: fast-forward merge is not possible. To merge this request, first rebase locally.

这两个分支有冲突,所以我用feat-add-daily-mileage分支重新基于test-increase-test-coverage分支:

git checkout test-increase-test-coverage
git fetch feat-add-daily-mileage
git rebase origin/feat-add-daily-mileage
# Then I fixed conflicts and commited
git rebase --continue
git push -f origin test-increase-test-coverage

这些分支不再有任何冲突,当我再次运行这个命令git rebase origin/feat-add-daily-mileage时,我得到这个消息:
Current branch test-increase-test-coverage is up to date.

但是我仍然在Gitlab中看到Merge blocked: fast-forward merge is not possible. To merge this request, first rebase locally.错误信息。

我该如何解决这个问题?

当我想将它们与开发分支合并时得到此错误

您可能需要首先在origin/develop之上本地重新设置它们。
那么你的合并将是一个快进的合并。

您需要为一个分支这样做,例如test-increase-test-coverage。并合并开发。

然后对另一个分支feat-add-daily-mileage执行相同的操作(在fetch之后,获得新更新的origin/develop)

在Gitlab中,进入项目的Settings->Merge Requests。合并方法,选择"Merge commit",而不是"Fast-forward merge"。这里有一个链接也解释了差异:https://docs.gitlab.com/ee/user/project/merge_requests/methods/index.html

最新更新