跳至主要内容

关于 ghe-migrator

您可以使用 ghe-migrator 将数据从位置(GitHub.com 组织或 GitHub Enterprise Server 实例)传输到目标 GitHub Enterprise Server 实例。

迁移类型

您可以执行三种类型的迁移

  • 从一个 GitHub Enterprise Server 实例迁移到另一个现有的 GitHub Enterprise Server 实例。您可以迁移实例中任何用户或组织拥有的任意数量的仓库。在执行迁移之前,您必须对两个实例都具有站点管理员访问权限。
  • 从 GitHub.com 组织迁移到 GitHub Enterprise Server 实例。您可以迁移组织拥有的任意数量的仓库。在执行迁移之前,您必须对 GitHub.com 组织具有管理访问权限,以及对目标实例具有站点管理员访问权限。
  • 试运行是将数据导入暂存实例的迁移。这些对于查看将迁移应用于 GitHub.com 时会发生什么很有用。我们强烈建议您在将数据导入生产实例之前在暂存实例上执行试运行。

注意:不建议使用 ghe-migrator 在虚拟机之间迁移 GitHub Enterprise Server 实例。我们建议您使用 GitHub Enterprise Server 备份实用程序将数据备份并恢复到新位置,或者在新位置创建副本,然后故障转移到副本设备。有关更多信息,请参阅“在您的实例上配置备份”,“创建高可用性副本”和“启动故障转移到您的副本设备”。

迁移的数据

使用 ghe-migrator,一切围绕仓库展开。与仓库关联的大多数数据都可以迁移。例如,组织内的仓库将迁移仓库组织,以及与仓库关联的任何用户、团队、问题和拉取请求。

下表中的项目可以与仓库一起迁移。列表中未显示的任何项目无法迁移,包括 Git LFS 资产。

注意:迁移后,分支关系不会保留。

与迁移的仓库关联的数据备注
用户@提及用户的将被重写以匹配目标。
组织组织的名称和详细信息将被迁移。
仓库指向 Git 树、blob、提交和行的链接将被重写以匹配目标。内部仓库将作为私有仓库迁移。存档状态将被取消设置。
Wiki所有 Wiki 数据都将被迁移。
团队@提及团队的将被重写以匹配目标。
里程碑时间戳将被保留。
项目(经典)看板与仓库关联以及与拥有仓库的组织关联的项目(经典)将被迁移。项目,全新的项目体验,不受支持。
问题问题引用和时间戳将被保留。
问题评论对目标实例重写了对评论的交叉引用。
拉取请求对拉取请求的交叉引用被重写以匹配目标。时间戳被保留。
拉取请求审查迁移拉取请求审查及其相关数据。
拉取请求审查评论对评论的交叉引用被重写以匹配目标实例。时间戳被保留。文件级评论不会被迁移。
提交评论对评论的交叉引用被重写以匹配目标实例。时间戳被保留。
发布迁移所有发布数据。
对拉取请求或问题的操作所有对拉取请求或问题的修改,例如分配用户、重命名标题和修改标签,都将被保留,以及每个操作的时间戳。
文件附件问题和拉取请求上的文件附件 被迁移。您可以选择在迁移过程中禁用此功能。
Webhooks仅迁移活动 Webhook。
仓库部署密钥迁移仓库部署密钥。
受保护的分支迁移受保护分支设置及其相关数据。

关于外部身份验证数据迁移

如果迁移的源位置是使用 LDAP 或 SAML 身份验证的 GitHub 产品,ghe-migrator 不会迁移与用户帐户关联的外部身份验证数据。有关身份验证选项的更多信息,请参阅 GitHub Enterprise Server,请参阅 GitHub Enterprise Server 文档" 或 GitHub Enterprise Cloud 文档

如果您迁移到目标实例,然后配置外部身份验证,用户必须使用与源实例上的帐户具有相同用户名或用户 ID 的用户帐户登录到目标实例。管理员可以从管理控制台查看实例用于映射用户帐户名称的外部属性。有关更多信息,请参阅“访问管理控制台”。