{"meta":{"title":"将存储库从Azure DevOps迁移到GitHub","intro":"执行试用版运行，然后将存储库从 Azure DevOps 迁移到 GitHub。","product":"迁移","breadcrumbs":[{"href":"/zh/migrations","title":"迁移"},{"href":"/zh/migrations/ado","title":"从Azure DevOps迁移"},{"href":"/zh/migrations/ado/migrate-your-repositories-from-azure-devops-to-github","title":"5. 迁移存储库"}],"documentType":"article"},"body":"# 将存储库从Azure DevOps迁移到GitHub\n\n执行试用版运行，然后将存储库从 Azure DevOps 迁移到 GitHub。\n\n## 先决条件\n\n* 您必须已完成本指南的所有先前阶段。\n* 确保了解将要迁移的数据以及导入程序已知的支持限制。 有关详细信息，请参阅 [了解从 Azure DevOps 迁移到 GitHub](/zh/migrations/ado/understand-migrations-from-azure-devops-to-github)。\n* 虽然并非必需，但建议在生产迁移期间停止工作。 Importer 不支持增量迁移，因此迁移期间发生的任何更改都不会迁移。 如果选择在生产迁移期间不停止工作，需要手动迁移这些更改。\n\n## 生成迁移脚本\n\n如果要一次性将多个存储库迁移到 GitHub Enterprise Cloud，请使用 GitHub CLI 生成迁移脚本。 生成的脚本将包含迁移命令的列表（每个存储库一个）。\n\n> \\[!NOTE]\n> 生成脚本会输出 PowerShell 脚本。 如果使用的是终端，则需要以 `.ps1` 文件扩展名输出脚本，并安装适用于 [Mac](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.2) 或 [Linux](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux?view=powershell-7.2) 的 PowerShell 才能运行它。\n\n若要生成迁移脚本，请运行 `gh ado2gh generate-script` 命令。\n\n```shell copy\ngh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME\n```\n\n将上述命令中的占位符替换为以下值。\n\n| 占位符      | 值                                                                                                                                                                                                                                                                                                                                               |\n| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 源        | 源组织名称                                                                                                                                                                                                                                                                                                                                           |\n| 目标       | 目标组织的名称                                                                                                                                                                                                                                                                                                                                         |\n| FILENAME | 生成的迁移脚本的文件名<br><br>如果使用终端，请使用 `.ps1` 文件扩展名，因为生成的脚本需要 PowerShell 才能运行。 可以安装适用于 [Mac](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.2) 或 [Linux](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux?view=powershell-7.2) 的 PowerShell。 |\n\n### 其他参数\n\n| 论点                                | 说明                                                                                                                                                                                                                                                                                                                    |\n| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `--target-api-url TARGET-API-URL` | 如果要迁移到 GHE.com，请添加 `--target-api-url TARGET-API-URL`，其中 TARGET-API-URL 是企业的子域的基本 API URL。 例如：`https://api.octocorp.ghe.com`。                                                                                                                                                                                          |\n| `--all`                           | 向脚本添加其他功能，例如重新连接管道、创建团队和配置Azure Boards集成。                                                                                                                                                                                                                                                                             |\n| `--download-migration-logs`       | 下载每个已迁移存储库的迁移日志。 有关迁移日志的详细信息，请参阅“[访问 GitHub Enterprise Importer 的迁移日志](/zh/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer#downloading-all-the-repository-migration-logs-for-a-migration-script)”。 |\n\n## 查看迁移脚本\n\n生成脚本后，查看文件，并根据需要编辑脚本。\n\n* 如果有任何不想迁移的存储库，请删除或注释掉相应的行。\n* 如果希望任何存储库在目标组织中具有不同的名称，请更新相应 `--target-repo` 标志的值。\n* 如果要更改新存储库的可见性，请更新相应 `--target-repo-visibility` 标志的值。 默认情况下，脚本设置与源存储库相同的可见性。\n\n## 执行试运行\n\n为了帮助发现企业可能特有的问题，我们因此强烈建议进行迁移的试运行。 通过试用运行，你将了解：\n\n* 给定存储库的迁移是否可以成功完成。\n* 是否可以将迁移的存储库恢复为可行的状态。\n* 迁移运行需要多长时间。\n\n试用版运行可以随时进行，在迁移期间无需停止工作。 为了减少完成试迁移所需的时间，可以计划连续安排试运行的批次。 然后，这些存储库的用户可以在自己方便的时候进行结果验证。\n\n1. 为试验性迁移创建测试组织。\n\n   可以将单个组织用于所有试运行，也可以为每个预期目标组织创建一个测试组织。 请考虑在组织名称的末尾添加 `-sandbox`，以阐明组织仅用于迁移验证，而不适用于生产。 完成后，可以删除测试组织。\n\n2. 运行测试迁移。\n\n3. 确认你能够在 [后续任务](/zh/migrations/ado/follow-up-tasks) 中完成后续任务。\n\n4. 要求用户验证迁移结果。\n\n5. 解决试验性迁移发现的任何问题。\n\n6. （可选）删除测试组织。\n\n## 迁移存储库\n\n如果试用运行成功，并且能够完成后续任务，则可以继续执行实际迁移。\n\n> \\[!WARNING] 建议停止正在迁移的存储库中的工作。 迁移期间或之后所做的任何更改都需要手动迁移。\n\n若要迁移多个存储库，请运行生成的脚本。 将以下命令中的 FILENAME 替换为生成脚本时提供的文件名。\n\n* 如果使用终端，请使用 `./`。\n\n  ```shell copy\n  ./FILENAME\n  ```\n\n* 如果使用 PowerShell，请使用 `.\\`。\n\n  ```shell copy\n  .\\FILENAME\n  ```"}