跳至主要内容

将您的仓库从 Azure DevOps 迁移到 GitHub

先进行试运行,然后将您的仓库从 Azure DevOps 迁移到 GitHub。

先决条件

  • 您必须已完成本指南的所有前置阶段。
  • 确保您了解将要迁移的数据以及 Importer 已知的支持限制。欲了解更多信息,请参阅 了解从 Azure DevOps 到 GitHub 的迁移
  • 虽然不是强制要求,但我们建议在正式迁移期间暂停工作。Importer 不支持增量迁移,因此迁移期间所做的任何更改都不会被迁移。如果您选择在正式迁移期间不暂停工作,则需要手动迁移这些更改。

生成迁移脚本

如果您想一次性将多个仓库迁移到 GitHub Enterprise Cloud,请使用 GitHub CLI 生成迁移脚本。生成的脚本将包含每个仓库对应的迁移命令列表。

注意

生成脚本会输出一个 PowerShell 脚本。如果您使用终端,需要将脚本保存为 .ps1 扩展名,并为 MacLinux 安装 PowerShell 才能运行它。

要生成迁移脚本,请运行 gh ado2gh generate-script 命令。

Shell
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME

将上述命令中的占位符替换为以下值。

占位符
SOURCE源组织的名称
DESTINATION目标组织的名称
FILENAME生成的迁移脚本文件名

如果您使用终端,请使用 .ps1 文件扩展名,因为生成的脚本需要 PowerShell 才能运行。您可以为 MacLinux 安装 PowerShell。

附加参数

参数描述
--target-api-url TARGET-API-URL如果您迁移到 GHE.com,请添加 --target-api-url TARGET-API-URL,其中 TARGET-API-URL 是您企业子域的基础 API URL。例如:https://api.octocorp.ghe.com
--all为脚本添加额外功能,例如重新配置流水线、创建团队以及配置 Azure Boards 集成。
--download-migration-logs下载每个已迁移仓库的迁移日志。有关迁移日志的更多信息,请参阅 获取 GitHub Enterprise Importer 迁移日志

审查迁移脚本

生成脚本后,请审查该文件,并可选择编辑脚本。

  • 如果有不想迁移的仓库,请删除或注释掉相应的行。
  • 如果您希望某些仓库在目标组织中使用不同的名称,请更新相应 --target-repo 标志的值。
  • 如果您想更改新仓库的可见性,请更新相应 --target-repo-visibility 标志的值。默认情况下,脚本会将可见性设置为与源仓库相同。

执行试运行

为帮助发现可能特有于您企业的问题,我们强烈建议先进行一次试运行迁移。通过试运行,您将了解

  • 特定仓库的迁移是否能够成功完成。
  • 是否能够使迁移后的仓库恢复到可使用的状态。
  • 迁移需要多长时间。

试运行可以随时进行,迁移期间无需暂停工作。为缩短完成试运行的时间,您可以将批次安排为连续执行。相应仓库的用户可以在自己的时间验证结果。

  1. 为试运行迁移创建一个测试组织。

    您可以为所有试运行使用同一个组织,或为每个目标组织分别创建一个测试组织。建议在组织名称末尾添加 -sandbox,以表明这些组织仅用于迁移验证,而非生产环境。完成后可以删除这些测试组织。

  2. 执行试运行迁移。

  3. 确认您能够完成 后续任务 中的操作。

  4. 请用户验证迁移结果。

  5. 解决试运行中发现的所有问题。

  6. 如有需要,删除测试组织。

迁移仓库

如果试运行成功且您已完成后续任务,则可以继续进行正式迁移。

警告

我们建议暂停正在迁移的仓库的工作。迁移期间或之后所做的任何更改都需要手动迁移。

要迁移多个仓库,请运行您生成的脚本。将以下命令中的 FILENAME 替换为生成脚本时指定的文件名。

  • 如果您使用终端,请使用 ./

    Shell
    ./FILENAME
    
  • 如果您使用 PowerShell,请使用 .\

    Shell
    .\FILENAME
    
© . This site is unofficial and not affiliated with GitHub, Inc.