我在两个分支上工作,他们对develop
分支有一个开放的拉取请求。
我的两个分支是:
test-increase-test-coverage
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