You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BitBucket上使用Git Rebase解决合并冲突后推送出现分支分歧问题

问题根因

你遇到的分支分叉报错是rebase操作的正常现象:rebase会重写当前功能分支的提交历史,把你的本地提交挪到最新的develop分支提交之后,此时本地分支的提交链和远程对应分支的提交链已经完全不同,才会触发分叉提示。这时候绝对不能执行git pull,pull会默认执行merge操作,把远程老的分支提交和你rebase后的本地提交合并,直接覆盖你之前修改的冲突内容。

正确的冲突解决+推送流程

  • 切换到你的功能分支:git checkout <你的功能分支名>
  • 拉取远程最新的develop分支代码(用fetch不会自动合并,更安全):git fetch origin develop
  • 执行rebase操作:git rebase origin/develop
  • 按提示手动修复所有冲突文件,修复完成后执行:git add <冲突文件路径>
  • 继续rebase流程:git rebase --continue
  • 弹出提交信息编辑页直接保存关闭即可,直到命令行提示Successfully rebased and updated <你的功能分支名>,不需要额外执行git commit,rebase流程会自动处理原有提交
  • 推送到远程自己的功能分支:因为提交历史已经重写,必须加强制推送参数,如果是你独占的功能分支可以直接执行,多人协作的功能分支建议先和协作者同步后再操作:git push origin <你的功能分支名> -f

强制推送的顾虑解答

你之前看到的多文件变更不是新增的无效变更,只是rebase后提交历史重写导致的展示差异,完全不会给develop分支引入多余提交:

  • 只要你是往自己的功能分支做强制推送,完全不会影响develop分支的代码和提交历史
  • 后续你提PR合并到develop的时候,只会带上你功能分支本身的提交,不会额外生成冗余提交,也不会出现冲突
  • 担心强制推送出错的话,可以在rebase前先给当前分支打个临时标签备份:git tag backup-before-rebase,万一操作失误可以直接回滚到标签位置

内容的提问来源于stack exchange,提问作者Helmut Granda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 03:18:04