跳至主要内容

了解从 Azure DevOps 到 GitHub 的迁移

GitHub Enterprise Importer 能够自动化从 Azure DevOps 迁移。

关于从 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 企业账户之前,请决定您的企业是否使用企业托管用户。这会影响成员的身份验证方式以及您如何管理身份和访问。请参阅 选择 GitHub Enterprise Cloud 的企业类型

欲了解 GitHub 与 Azure DevOps 之间的差异,请参阅 Azure DevOps 与 GitHub 的关键区别

支持 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 字节限制: 单个 Git 引用(通常称为 “ref”)的名称不能超过 255 字节。通常这意味着引用名不能超过 255 字符,但任何非 ASCII 字符(例如表情符号)可能占用多个字节。如果您的 Git 引用过长,我们会返回明确的错误信息。
  • 100 MiB 文件大小限制: 完成迁移后,Git 仓库中没有单个文件可以大于 100 MiB。迁移期间此限制提升至 400 MiB。建议使用 Git LFS 存储大文件。

GitHub Enterprise Importer 的限制

  • Git 仓库的 40 GiB 大小限制(公开预览): 此限制仅适用于源码。要检查仓库归档是否超过限制,请使用 git-sizer 工具并查看输出中的总 blob 大小。git-sizer 还能帮助识别可能影响迁移的大文件、blob 大小、提交大小和树数量等潜在问题。
  • 400 MiB 文件大小限制: 使用 GitHub Enterprise Importer 迁移仓库时,单个文件不能大于 400 MiB。建议使用 Git LFS 存储大文件。
  • Git LFS 对象未迁移: Importer 可以迁移使用 Git LFS 的仓库,但 LFS 对象本身不会随迁移一起迁移。您可以在迁移完成后将其作为后续任务推送到目标仓库。
  • 代码搜索功能延迟: 在仓库迁移后,重新索引搜索索引可能需要数小时,在重新索引完成之前,代码搜索可能返回意外结果。
  • 组织配置的规则集可能导致迁移失败: 例如,如果您配置了规则要求提交作者的电子邮件地址以 @monalisa.cat 结尾,而迁移的仓库中包含不符合该规则的提交,则迁移会失败。
  • Mannequin 内容可能不可搜索: Mannequin 是用于占位的用户,导入的内容(如议题、拉取请求、评论等)会关联到这些占位用户。当您搜索与 mannequin 关联的内容(例如指派的议题)时,可能找不到。Mannequin 被重新认领后,内容应能通过新所有者被检索到。
下一页管理访问
© . This site is unofficial and not affiliated with GitHub, Inc.