关于从 Bitbucket Server 迁移
您可以使用 GitHub Enterprise Importer 将仓库从 Bitbucket Server 迁移到 GitHub Enterprise Cloud。从 Bitbucket Server 迁移仅支持 Bitbucket Server 或 Bitbucket Data Center 版本 5.14+ 或更高版本。
迁移的数据
我们目前仅支持将以下仓库数据从 Bitbucket Server 迁移到 GitHub Enterprise Cloud。
- Git 源代码(包括提交历史记录)
- 拉取请求(包括评论、拉取请求审查、文件和行级拉取请求审查评论、必填审查者和附件)
未迁移的数据
目前,以下数据**未**迁移。
- 用户拥有的个人仓库
- 分支权限
- 提交评论
- 仓库设置
- CI 管道
迁移数据限制
GitHub Enterprise Importer 迁移存在一些限制。其中一些是由于 GitHub.com 的限制,而另一些则是 GitHub Enterprise Importer 自身的限制。
GitHub.com 的限制
- 单个 Git 提交大小限制为 2 GB:Git 仓库中的单个提交不能超过 2 GB。如果您的任何提交大于 2 GB,您需要将提交拆分为多个较小的提交,每个提交大小不超过 2 GB。
- Git 引用大小限制为 255 字节:单个 Git 引用(通常称为“引用”)的名称不能超过 255 字节。通常,这意味着您的引用不能超过 255 个字符,但任何非 ASCII 字符(如表情符号)可能会占用超过一个字节。如果您的任何 Git 引用过大,我们将返回一个清晰的错误消息。
- 文件大小限制为 100 MB:Git 仓库中的单个文件不能超过 100 MB。考虑使用 Git LFS 来存储大文件。有关更多信息,请参阅“管理大文件”。
GitHub Enterprise Importer 的限制
- Git 仓库大小限制为 10 GB:此限制仅适用于源代码。要检查仓库存档是否超过限制,请使用 git-sizer 工具并查看输出中的总 Blob 大小。git-sizer 工具还有助于识别可能影响迁移的大文件、Blob 大小、提交大小和树计数相关的问题。
- 元数据限制为 10 GB:Importer 无法迁移元数据超过 10 GB 的仓库。元数据包括问题、拉取请求、发布和附件。在大多数情况下,大型元数据是由附加到发布的二进制资产引起的。您可以使用
migrate-repo
命令的--skip-releases
标志从迁移中排除发布,然后在迁移完成后手动移动您的发布。 - Git LFS 对象未迁移:Importer 可以迁移使用 Git LFS 的仓库,但 LFS 对象本身不会迁移。它们可以在迁移完成后作为后续任务推送到您的迁移目标。有关更多信息,请参阅“复制仓库”。
- 迁移后需要完成的任务: 在 GitHub 产品之间迁移时,某些设置不会迁移,需要在新的仓库中重新配置。有关每次迁移后需要完成的后续任务列表,请参阅“GitHub 产品之间迁移概述”。
- 代码搜索功能延迟: 仓库迁移后,重新索引搜索索引可能需要几个小时,代码搜索可能会返回意外结果,直到重新索引完成。
- 为您的组织配置的规则集可能会导致迁移失败:例如,如果您配置了一条规则,要求提交作者的电子邮件地址以
@monalisa.cat
结尾,而您要迁移的仓库包含不符合此规则的提交,则您的迁移将失败。有关规则集的更多信息,请参阅“关于规则集”。 - 模特内容可能无法搜索:模特是占位符用户,导入的内容(例如问题、拉取请求、评论等)与之关联。当您搜索与模特关联的内容(例如分配的问题)时,可能找不到这些问题。一旦模特被回收,内容应该可以通过新所有者找到。有关更多信息,请参阅“为 GitHub Enterprise Importer 回收模特”。
入门
在从 Bitbucket Server 迁移之前,您应该规划如何运行迁移。在迁移任何数据之前,您需要选择一个人来运行迁移。您必须授予该人对迁移源和目标的必要访问权限。我们还建议您先进行试迁移。
有关从头到尾的迁移过程概述,请参阅“从 Bitbucket Server 迁移到 GitHub Enterprise Cloud 的概述”。