> 技术文档 > 整个Git代码库迁移到新仓库_git仓库迁移

整个Git代码库迁移到新仓库_git仓库迁移

要将整个Git代码库迁移到新仓库,请按照以下步骤操作:

方法一:通过现有本地仓库迁移

  1. 更新本地仓库

    git fetch origin --all --tags # 获取所有分支和标签
  2. 添加新远程仓库

    git remote add new-origin <新仓库URL> # 添加新远程,例如使用名称new-origin
  3. 推送所有分支到新仓库

    git push new-origin --all # 推送所有本地分支到新远程
  4. 推送所有标签到新仓库

    git push new-origin --tags # 推送所有本地标签到新远程

方法二:镜像克隆(推荐,更彻底)

  1. 克隆旧仓库的镜像

    git clone --mirror <旧仓库URL> # 创建裸仓库,包含所有分支、标签和历史cd <仓库目录>.git # 进入克隆的裸仓库目录
  2. 修改远程地址为新仓库

    git remote set-url origin <新仓库URL> # 更新远程地址到新仓库
  3. 推送所有内容到新仓库

    git push --mirror # 强制推送所有引用(分支、标签等)

迁移后操作

  • 更新本地远程地址(若需替换旧仓库):

    git remote rename origin old-origin # 可选:重命名旧远程git remote rename new-origin origin # 将新远程设置为origin
  • 通知团队成员

    • 让团队成员更新本地仓库地址:
      git remote set-url origin <新仓库URL>
    • 或重新克隆新仓库。

注意事项

  • 权限问题:确保对新仓库有写入权限。
  • 清理历史(可选):若需删除敏感数据或大文件,使用 git filter-repo 工具处理后再迁移。
  • 验证迁移:检查新仓库的分支、标签和提交历史是否完整。

两种方法均可实现完整迁移,镜像克隆方式更彻底,适合确保所有引用(包括隐藏分支)都被迁移。根据实际情况选择最适合的方式。