如何将Azure DevOps Repositories中的Git仓库迁移至GitHub?
Azure DevOps Git仓库迁移至GitHub的操作步骤
一、准备工作
- 拥有Azure DevOps目标仓库的读写权限,以及GitHub账号和新建仓库权限
- 本地安装Git(命令行迁移需要)
- 复制好Azure DevOps仓库的克隆地址(HTTPS或SSH均可,SSH更省心)
二、命令行迁移(完整保留所有历史)
这种方法能100%保留分支、标签、提交记录,最可靠:
- 裸克隆Azure DevOps仓库到本地
裸克隆只复制仓库数据,不生成工作目录,速度更快:git clone --mirror https://dev.azure.com/[组织名]/[项目名]/_git/[仓库名] # 或者用SSH地址 git clone --mirror git@ssh.dev.azure.com:v3/[组织名]/[项目名]/[仓库名] - 添加GitHub仓库作为远程源
进入克隆好的裸仓库目录:
把GitHub仓库地址加为新远程源:cd [仓库名].gitgit remote add github https://github.com/[你的用户名]/[目标仓库名].git # SSH版本 git remote add github git@github.com:[你的用户名]/[目标仓库名].git - 推送所有内容到GitHub
一键推送所有分支、标签和历史记录:git push --mirror github - 清理本地文件(可选)
迁移完成后可以删掉本地的裸仓库文件夹:cd .. rm -rf [仓库名].git
三、GitHub导入工具迁移(零命令行操作)
适合不想碰命令行的用户:
- 在GitHub创建一个空仓库,不要勾选初始化README、.gitignore这些选项
- 进入新仓库页面,点击顶部的「Import code」链接
- 在输入框里粘贴Azure DevOps仓库的克隆地址,确认仓库名称后点击「Begin import」
- 如果原仓库是私有,会要求输入Azure DevOps的用户名和个人访问令牌(PAT)验证权限
- 等待导入完成,GitHub会自动同步所有分支、历史和标签
四、迁移后验证
- 打开GitHub仓库,检查提交历史、分支、标签是否和原仓库一致
- 克隆GitHub仓库到本地,测试拉取、提交是否正常
- 原仓库的CI/CD流水线需要在GitHub重新配置(比如用GitHub Actions)
- 通知团队成员更新本地仓库的远程地址:
git remote set-url origin https://github.com/[你的用户名]/[目标仓库名].git # 或者SSH版本 git remote set-url origin git@github.com:[你的用户名]/[目标仓库名].git
内容的提问来源于stack exchange,提问作者Janusz Nowak
相关产品推荐
相关产品推荐

