首页 > 解决方案 > 如何通过 Bitbucket 中的拉取请求变基

问题描述

master我们的团队使用 Bitbucket 进行协作,并且我们为develop分支启用了拉取请求工作流。这意味着这两个分支变为只读且无法push编辑。只能通过从它们创建分支、进行更改、推送分支、从中创建拉取请求并让另一个团队成员对其进行审查并通过 BitBucket 接口将请求合并到原始分支之上来更改它们。

不幸的是,在创建合并请求时,BitBucket 接口默认为master,而不是当前功能分支的实际父分支,有时团队成员develop在创建合并请求或批准它之前忘记将其更改为。这导致了彼此的分歧master和分歧,现在我们无法在我们想要发布的时候合并。developdevelopmaster

如果develop不被禁止push,我可以rebasemaster应用所有不存在的提交,然后push --forcemaster.

我尝试从分支developrebaseing 它master包含所有提交master,然后将其作为合并请求发送到develop,但是存在合并冲突并且 BitBucket 拒绝允许它合并。

现在我被困住了。我该如何解决这个问题?

标签: gitbitbucketgit-flow

解决方案


您可以结帐到您的master分行并master通过以下方式获取最新信息

git pull --rebase origin master

由于您被禁止同时推入master,您可以尝试从viadevelop签出新分支master

git checkout -b <new-branch-name>

现在你会在,从你的develop分支变基

git rebase develop

现在您将拥有 master 和 development 中的所有提交,您可以develop通过以下方式删除分支

git branch -D develop
git push -d origin develop

并推动通孔

git push -u origin <new-branch-name>

并向 master 提出 Pull Request。希望这能解决您的问题。


推荐阅读