关于从 Azure DevOps Cloud 迁移
可使用 GitHub Enterprise Importer 将存储库从 Azure DevOps 迁移到 GitHub Enterprise Cloud(GitHub.com 或 GHE.com)。
只能使用 GitHub Enterprise Importer 从 Azure DevOps Cloud 迁移,而不能从 Azure DevOps Server 迁移。 如果当前使用 Azure DevOps Server,并且想要迁移到 GitHub,可以先迁移到 Azure DevOps Cloud。 有关详细信息,请参阅 Azure 站点上的迁移到 Azure DevOps。
在 GitHub 上创建企业帐户之前,决定你的企业是否将使用 Enterprise Managed Users。 这会影响成员进行身份验证的方式以及管理标识和访问的方式。 请参阅“为 GitHub Enterprise Cloud 选择企业类型”。
支持 Azure Pipelines 和 Azure Boards
Azure Pipelines 和 Azure Boards 都可以与你的 GitHub 体验完全集成。 你可以配置企业帐户和 Azure DevOps,以便继续使用这些服务,同时受益于将存储库托管在 GitHub 上。
如果要将 Azure Pipelines 迁移到 GitHub Actions,请联系 GitHub 帐户管理员。
迁移的数据
GitHub Enterprise Importer 目前支持将以下存储库数据从 Azure DevOps 迁移到 GitHub Enterprise Cloud。
- Git 源(包括提交历史记录)
- 拉取请求
- 拉取请求的用户历史记录
- 拉取请求上的工作项链接
- 拉取请求上的附件
- 存储库的分支策略(不包括用户限定的分支策略和跨仓库分支策略)
迁移数据的限制
GitHub Enterprise Importer 可以迁移的内容存在限制。 有些是由于 GitHub 的限制,而另一些是由于 GitHub Enterprise Importer 本身的限制。
GitHub 的限制
-
**单个 Git 提交的 2 GiB 大小限制:** Git 存储库中的单个提交不能大于 2 GiB。 如果你的任何提交大于 2 GiB,需要将该提交拆分为多个均不超过 2 GiB 的较小提交。 -
**Git 引用的 255 字节限制:** 任何通常称为“ref”的 Git 引用的名称不能大于 255 字节。 通常,这意味着引用长度不能超过 255 个字符,但任何非 ASCII 字符(如表情符号)可能会使用多个字节。 如果任何 Git 引用太长,将返回明确的错误消息。 -
**100 MiB 文件大小限制:** 完成迁移后,Git 存储库中的单个文件不能大于 100 MiB。 在存储库迁移期间,此限制将增加到 400 MiB。 请考虑使用 Git LFS 来存储大型文件。
GitHub Enterprise Importer 的限制
- Git 存储库的大小限制为 40 GB (公共预览版):此限制仅适用于源代码****。 若要检查存储库存档是否超出限制,请使用 git-sizer 工具并查看输出中的 blob 总大小。 git-sizer 工具还有助于识别与大型文件、blob 大小、提交大小和可能影响迁移的树计数相关的潜在问题。
- 400 MiB 文件大小限制:使用 GitHub Enterprise Importer 迁移存储库时,Git 存储库中的单个文件大小不能超过 400 MiB****。 请考虑使用 Git LFS 来存储大型文件。
-
**未迁移的 Git LFS 对象:**Importer 可以迁移使用 Git LFS 的存储库,但 LFS 对象本身不会被迁移。 迁移完成后,可以将其作为后续任务推送到迁移目标。 - 延迟的代码搜索功能:迁移存储库后,重新编制搜索索引可能需要几个小时,在重新编制索引完成前,代码搜索可能会返回意外的结果。
- 为组织配置的规则集可能会导致迁移失败:例如,如果配置的规则要求提交作者的电子邮件地址以 **** 结尾,而要迁移的存储库包含不符合此规则的提交,则迁移将失败。
-
**模特内容可能不可搜索**:模特是与导入内容(如问题、拉取请求、注释等)关联的占位符用户。 在搜索与模型关联的内容(例如已分配的事项)时,可能无法找到这些事项。 回收模特后,通过新所有者可找到内容。
后续步骤
在下一篇文章中,你将决定谁来执行迁移,并准备好对 Azure DevOps 和 GitHub Enterprise Cloud 的访问权限。 请参阅“阶段 2。 管理访问权限”。