如何通过 Bitbucket 中的拉取请求变基
Posted
技术标签:
【中文标题】如何通过 Bitbucket 中的拉取请求变基【英文标题】:How to rebase via pull request in Bitbucket 【发布时间】:2020-08-24 19:39:28 【问题描述】:我们的团队使用 Bitbucket 进行协作,我们为 master
和 develop
分支启用了拉取请求工作流。这意味着这两个分支变成只读的并且不能被push
ed 到。只能通过从它们创建分支、进行更改、推送分支、从中创建拉取请求并让其他团队成员对其进行审核并通过 BitBucket 接口将请求合并到原始分支之上来更改它们。
不幸的是,在创建合并请求时,BitBucket 接口默认为master
,而不是当前功能分支的实际父分支,有时团队成员在创建合并请求或批准它之前忘记将其更改为develop
.这导致 master
和 develop
彼此分歧,现在当我们想要发布时,我们无法将 develop
合并到 master
之上。
如果develop
没有被禁止push
到,我可以从master
rebase
它,应用所有不存在的提交,然后push --force
使其成为@987654335的后代@。
我尝试从develop
和rebase
将其从master
分支,使其包含来自master
的所有提交,然后将其作为合并请求发送到develop
,但存在合并冲突和BitBucket 拒绝允许它合并。
现在我被困住了。我该如何解决这个问题?
【问题讨论】:
你能分享你的开发和工作分支的 git 图吗?理想情况下,您的问题不应该发生。 【参考方案1】:您可以结帐到您的master
分支并通过
master
获取最新信息
git pull --rebase origin master
由于您被禁止同时推入master
和develop
,您可以尝试通过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。 希望这能解决您的问题。
【讨论】:
【参考方案2】:您在合并期间尝试过快进选项吗?它实际上帮助我保持树木清洁。
【讨论】:
以上是关于如何通过 Bitbucket 中的拉取请求变基的主要内容,如果未能解决你的问题,请参考以下文章