我们的团队使用Bitbucket进行协作,并且我们为master
和develop
分支启用了拉取请求工作流程。这意味着这两个分支变为只读状态,无法被push
锁定。只能通过以下方式来更改它们:创建一个分支,进行更改,推动该分支,从中创建拉取请求,然后让另一个团队成员对其进行审核并将请求合并到原始分支的顶部。
[不幸的是,创建合并请求时,Bitbucket接口默认为master
,而不是当前功能分支的实际父分支,并且有时团队成员在创建合并请求或批准之前忘记将其更改为develop
。这导致master
和develop
彼此分离,现在当我们要释放时,我们无法将develop
合并到master
之上。
如果不禁止develop
到push
,我可以从rebase
进行master
,应用所有不存在的提交,然后应用push --force
以使其成为从master
的顶端继承的子代。
我尝试从develop
分支,然后从rebase
分支,使其包含master
的所有提交,然后将其作为合并请求发送到master
,但是存在合并冲突和Bitbucket拒绝允许它合并。
现在我被卡住了。如何解决此问题?
您可以签出到develop
分支,并通过]从master
中获取最新的一个>
master
由于您被禁止同时推送到
git pull --rebase origin master
和master
,因此您可以尝试通过[]从develop
签出到新分支中>master
现在您将继续,从
git checkout -b <new-branch-name>
分支重新定基develop
现在您将拥有所有提交和开发中的提交,可以通过]删除
git rebase develop
分支>develop
并按下通孔
git branch -D develop git push -d origin develop
并向主提出“拉取请求”。希望这可以解决您的问题。