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

如何正确将Bitbucket仓库代码合并到GitHub对应仓库

报错原因

触发该报错的核心是执行pull命令时,本地工作区存在未解决的冲突残留、或处于未完成的合并中断状态,Git会强制终止当前合并操作。另外你直接执行git pull <仓库地址>未指定目标分支的写法,会默认拉取远端默认分支的所有提交,极易引入无关代码触发额外冲突。

标准操作流程

操作前先确认你本地已经克隆了GitHub端的对应仓库,所有命令都在该本地仓库路径下执行:

  • 第一步:清理本地异常状态,回到干净的工作节点
# 切换到你之前创建的gh分支
git checkout gh
# 中止所有残留的未完成合并操作
git merge --abort
# 执行状态检查,确认输出无"unmerged paths""Changes not staged for commit"类提示,工作区完全干净再继续
git status
  • 第二步:添加Bitbucket仓库为本地远端源
# 给Bitbucket仓库配置别名bb-repo,后续无需重复输入完整仓库地址
git remote add bb-repo https://{{替换为你的Bitbucket仓库实际地址}}.git
# 拉取Bitbucket仓库所有分支的最新提交到本地,不会改动你当前的工作区文件
git fetch bb-repo
  • 第三步:执行分支合并
    根据你要合并的Bitbucket端实际分支选择对应命令:
    • 如果你要合并的是你在Bitbucket端创建的bb分支,执行:
    git merge bb-repo/bb
    
    • 如果你要合并的是Bitbucket端的master主干分支,执行:
    git merge bb-repo/master
    
  • 第四步:处理合并冲突
    执行merge后如果提示文件冲突,直接打开标记为冲突的文件,手动整合两边的代码逻辑(冲突段Git会用<<<<<<< ======= >>>>>>>标记分隔两侧代码)。所有冲突处理完成后,执行以下命令标记冲突解决并完成合并提交:
# 将所有处理完的冲突文件加入暂存区,也可以逐个指定文件路径
git add .
# 提交合并结果
git commit -m "merge: sync code from Bitbucket repository"
  • 第五步:推送合并结果到GitHub
    确认本地代码运行、逻辑验证无误后,把合并完成的gh分支推送到GitHub远端即可:
git push origin gh
操作注意事项
  • 后续需要再次同步两个平台的代码时,不需要重复添加bb-repo远端,只需要先执行git fetch bb-repo拉取Bitbucket的最新提交,再合并对应分支即可。
  • 所有拉取、合并操作执行前,必须保证本地工作区干净,没有未提交的本地改动、没有中断的合并/变基流程,否则会反复触发你之前遇到的未合并文件报错。
  • 尽量不要直接用git pull <完整仓库地址>的写法做跨仓库合并,pull是fetch+merge的组合操作,不指定分支时的拉取逻辑不可控,提前加远端、先fetch再合并的流程更稳定,也方便排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:12:32