我想手动合并所有现有的合并请求。假设这些是我现有的合并请求:
1) feature1 --> master
2) feature2 --> master
对于某些业务需求,我需要将所有现有的合并请求分支合并到本地的integration
中间分支。然后我需要将integration
与master.
合并。在我的工作站上,我正在做的是:
$ git clone ...
$ git fetch
$ git checkout master
$ git checkout -b integration
# Rebase feature1 with integration and merge
$ git checkout feature1
$ git rebase integration
$ git checkout integration
$ git merge feature1
# Rebase feature2 with integration and merge
$ git checkout feature2
$ git rebase integration
$ git checkout integration
$ git merge feature2
# Merge integration to master
$ git checkout master
$ git merge integration
$ git push origin master
但是当我在GitLab上检查合并请求时,我只看到第一个被合并。即使合并成功,第二个拉取请求仍会打开。
答案 0 :(得分:1)
在集成之上重新设置feature2
最有可能造成这样一种情况,即feature2
分支上的所有提交都不会最终落入integration
分支。
请记住,rebase不会修改现有的提交,而是将其替换为新的提交。
尝试一下:
# Rebase feature2 with integration and merge
$ git checkout feature2
$ git rebase integration
# This will update your pull request so gitlab can detect the merge
$ git push origin feature2
$ git checkout integration
$ git merge feature2