You need to enable JavaScript to run this app. 如何将现有Bitbucket仓库完整迁移至另一Bitbucket账户?
优惠活动
大模型
产品
解决方案
定价
更多

如何将现有Bitbucket仓库完整迁移至另一Bitbucket账户?

跨Bitbucket账户完整仓库迁移最优方案

之前操作失败的核心原因

仅拷贝本地工作区文件再推送到新仓库的方式,本身无法实现完整迁移:这种操作只会携带当前目录的文件快照,不会保留原仓库的完整提交历史、全部分支、标签等版本关联信息,加上新仓库创建时通常会自动初始化默认分支,极易因为历史不兼容、权限配置错误出现推送失败。

无信息丢失的标准迁移流程

  • 拉取原仓库全量裸仓库备份
    在本地空白目录执行命令:git clone --bare 原Bitbucket仓库的Git克隆地址
    该命令会生成以.git结尾的裸仓库目录,会完整留存原仓库的所有分支、标签、提交历史,不会生成可直接编辑的工作区文件。
  • 全量同步内容到新账户的目标仓库
    进入上述裸仓库目录,执行镜像推送命令:git push --mirror 新Bitbucket仓库的Git克隆地址
    --mirror是实现全量迁移的核心参数:它会将原仓库的所有Git引用、分支、标签、版本配置全部一一对应同步到新仓库,不存在逐分支推送遗漏内容的问题,是跨Bitbucket账户全量迁移效率最高的方式。
  • 补充同步平台层非Git数据
    git push --mirror仅会同步Git版本库本身的内容,对于Bitbucket平台托管的Issue、PR评论、Wiki、里程碑这类和Git版本无直接关联的内容,需要单独从原仓库导出备份包,再导入到新仓库即可完成全量迁移。

推送失败的常见排查点

  • 核对Git凭证权限:拉取原仓库需要对应账户的读取权限,推送新仓库需要目标新账户对应仓库的写入权限,避免误用旧账户的凭证完成新仓库的推送操作。
  • 检查新仓库的前置提交:如果新仓库创建时勾选了自动生成README、.gitignore的初始化选项,仓库已存在独立于原仓库的提交历史,会被Git拦截推送。这种情况要么重建一个完全空的新仓库,要么确认新仓库内无需要保留的内容时,使用强制推送参数覆盖现有历史。
  • 大仓库推送超时的话,可提前执行git config http.postBuffer 524288000调大本地Git的上传缓存,避免大体积包传输中断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 10:27:02