若要将存储库从 Azure DevOps 迁移到 GitHub,需要对 source(Azure DevOps 上的组织)和 estination(GitHub 上的组织)具有足够的访问权限。 完成本文中的步骤后,你的访问和权限将为迁移准备就绪。
确定谁将执行迁移
如果执行迁移的人员不是GitHub组织所有者,GitHub则组织所有者必须首先向他们授予迁移者角色。
- 如果你是 GitHub 组织所有者,并且打算自己执行迁移,可以继续阅读本指南。
- 如果要将迁移者角色分配给其他人,请立即执行此作。 然后,迁移工具应执行这些指南中的其余步骤。 请参阅“授予迁移者角色”。
在 GitHub 上创建 personal access token (classic)
接下来,您需要创建一个personal access token (classic),ADO2GH extension of the GitHub CLI将使用它与GitHub进行通信。 GitHub personal access token (classic) 所需的范围取决于你的角色和要完成的任务。
注意
只能使用 personal access token (classic),而不能使用 fine-grained personal access token。这意味着,如果贵组织使用“限制 personal access tokens (classic) 访问组织”策略,则你无法使用 GitHub Enterprise Importer。 有关详细信息,请参阅“在企业中强制实施个人访问令牌策略”。
| 任务 | 组织所有者 | 迁移者 |
|---|---|---|
| 为存储库迁移分配迁移者角色 | admin:org | |
| 运行存储库迁移(目标组织) | repo, admin:org, workflow | repo, read:org, workflow |
| 下载迁移日志 | repo, admin:org, workflow | repo, read:org, workflow |
| 回收模型 | admin:org |
若要了解如何创建令牌,请参阅 管理个人访问令牌。
在 Azure 上创建 Personal access token
Azure DevOps personal access token必须具有 work item (read)、code (read) 和 identity (read) 范围。
建议授予对你的 personal access token 完全访问权限,以便你能够在阶段 4 中使用 inventory-report 标志。
如果要从多个组织迁移,请允许 personal access token 访问所有可访问的组织。
请参阅 Microsoft Docs 中的 personal access token用法。
配置 IP 允许列表 GitHub
如果使用 GitHubIP 允许列表功能,则必须将 GitHub 下面的 IP 范围添加到源和/或目标组织的允许列表。
如果目标组织在 GitHub.com 上,则需要允许以下 IP 地址:
- 192.30.252.0/22
- 185.199.108.0/22
- 140.82.112.0/20
- 143.55.64.0/20
- 135.234.59.224/28 (2025 年 7 月 28 日添加)
- 2a0a:a440::/29
- 2606:50c0::/32
- 20.99.172.64/28(2025 年 7 月 28 日添加)
请参阅 管理组织允许的 IP 地址 和 使用 IP 允许列表限制企业网络的流入流量。
暂时配置您的身份提供商(IdP)的限制
如果使用 IdP 的 IP 允许列表(如 Azure CAP)在 GitHub 上限制对企业的访问,则应在完成迁移之前在企业帐户设置中禁用这些限制。
允许迁移绕过存储库规则集
如果目标组织或企业启用了规则集,则迁移的存储库历史记录可能会违反这些规则。 要在不禁用规则集的情况下允许迁移,请将“存储库迁移”添加到每个适用规则集的绕过列表中。 此绕过仅在迁移期间适用。 完成后,将对所有新贡献强制实施规则集。
若要配置旁路,请执行以下配置:
- 导航到每个企业或组织规则集。
- 在“绕过列表”部分中,单击“ 添加绕过”。
- 选择 存储库迁移。
有关详细信息,请参阅“创建组织中存储库的规则集”。