Skip to main content

用于从 GitHub Enterprise Server 迁移到 GHE.com 的实时迁移数据

实时迁移中包括哪些数据和实时更新?

注意

Enterprise Live Migrations 位于 公开预览,可能会有变动。

迁移的数据

ELM 迁移几乎所有存储库级数据。 组织级资源(如团队、项目和组织设置和 Webhook)已从迁移中排除,必须在目标上手动配置。

唯一支持的 ELM 组织级别操作是创建目标组织帐户(如果尚不存在)。

存储库设置和配置

ResourceNotes
存储库元数据和设置可见性、说明、默认分支和已启用的功能
仓库网络钩子存储库的 Webhook 配置
仓库主题用于对存储库进行分类的标记
存储库 PR 设置拉取请求合并和查看设置
操作设置存储库级GitHub Actions配置,包括允许的操作和权限
自动链接自定义自动链接引用
分支保护分支保护规则已部分迁移,但存在以下限制
页面GitHub Pages 配置

警告

分支保护迁移仅获得部分支持。 ELM 会保留是否已启用用于驳回拉取请求审查和推送到受保护分支的操作者限制,但不会保留获准的用户、团队或应用程序。 因此,可以在目标端使用空的允许列表重新创建推送限制。 它也不会迁移拉取请求绕过主体、强制推送主体、状态检查应用绑定关系、匹配分支的创建限制、合并队列设置、部署要求或分支锁定。 在允许用户在目标存储库中工作时,先查看和更新迁移的分支保护规则。

Git 数据、LFS 和 Wiki

ResourceNotes
Git 存储库(refs、objects、history)包括所有 refs、对象和提交历史记录。 在整个迁移过程中,存储库会保持目标的最新状态。
LFS 对象Git 大型文件存储对象。 要求在源 GitHub Enterprise Server 实例上启用 LFS。
维基Wiki Git 存储库

问题、评论和反应

ResourceNotes
问题包括状态、被分配者和正文
问题评论有关问题的所有评论
问题反应有关问题的反应
问题评论反馈有关问题评论的反馈
问题标签有关问题的标签关联
问题事件时间线事件(已分配、标记、已关闭等)
关闭问题引用关闭问题的相关引用(例如“解决问题 #123”)

拉取请求、代码审查和讨论线程

ResourceNotes
拉取请求包括状态、审阅者、内容和草稿状态
PR 评论提交的评审,包括已批准、请求更改和评论的状态
PR 审阅注释内联代码评审注释
PR 评审讨论线程线程讨论,包括已解决和未解决的状态
PR 评论反应合并请求审查评论的反馈
PR 标签拉取请求的标签关联

标签、里程碑、发布和 CI

ResourceNotes
标签标签定义,包括名称、颜色和说明
里程碑里程碑定义和状态
Releases发布元数据,包括标记、名称、正文和预发布或草稿状态
释放反应有关发布的反应
提交注释对单个提交的注释
提交状态检查提交时 CI/CD 状态检查
检查运行状态检查运行结果
检测套件检查套件分组
团队存储库权限团队与存储库权限的关联

二进制资产和文件附件

ResourceNotes
发布资源关联到发布的二进制资产,每个资产最多 2 GB
附件嵌入在问题和拉取请求正文中的图像和视频文件附件
存储库文件(非媒体附件)与问题和拉取请求关联的非媒体文件附件,例如 PDF 和文本文件

用户和模特

ResourceNotes
模特迁移数据中引用的每个GitHub企业服务器用户都被表示为一个占位符:没有组织成员资格或库访问权限的标识。 迁移完成后,可以通过将它们与实际用户帐户相关联来回收模特。

不迁移的数据

存储库数据

DataNotes
存储库默认值N/A
存储库规则集不会迁移存储库规则集。 分支保护规则已部分迁移。
从分叉拉取请求N/A
待处理的拉取请求评审仅迁移提交的评论。

组织数据

组织级别数据(例如以下内容)迁移:

  • Settings
  • 团队
  • 项目
  • Webhooks

实时更新中包含的事件

初始回填完成后,导出程序的事件侦听器监视GitHub Enterprise Server上的Webhooks,以捕获正在进行的更改,并将这些更改转发到目标企业的迁移服务。

下表记录了哪些资源类型支持实时更新以及处理哪些 Webhook 操作。

资源类型支持的事件不支持的事件
Repositoryedited
archiveddeletedprivatizedpublicizedrenamedtransferredunarchived
Issues
assignedclosededitedlabeledopenedreopenedunassignedunlabeledmilestoneddemilestoned
deletedlockedpinnedtransferredunlockedunpinned
问题注释
createdediteddeleted
拉取请求
assigned、、closedconverted_to_draft``editedlabeledopened``ready_for_review``reopened``unassignedunlabeled、、 milestoned``demilestoned
auto_merge_disabledauto_merge_enableddequeuedenqueuedlockedreview_request_removedreview_requestedsynchronizeunlocked
拉取请求评审
editedsubmitteddismissed
合并请求评审评论edited
createddeleted
拉取请求评审线程
resolvedunresolvedN/A
标签created
deletededited
发布
creatededitedprereleasedpublishedreleasedunpublisheddeleted
里程碑
closedcreatededitedopeneddeleted
分支保护规则(部分支持)
createdediteddeleted
提交注释
createdediteddeleted
页面生成所有操作N/A
提交状态检查所有操作N/A
维基所有操作N/A
自动链接
createddeletedN/A
关闭问题引用createdN/A
反应
createddeletedN/A
存储库操作设置updatedN/A
存储库 Webhook
createdupdatedN/A

存储库设置和配置中所述的分支保护限制适用于初始迁移和实时更新。

注意

提交拉取请求评审后,ELM 将完整评审内容(包括所有内联注释)一起导入。 作为初始评审提交的一部分的内联注释已正确迁移。 但是,在 提交评审后添加到审阅线程 的答复不会捕获为实时更新,不会显示在已迁移的存储库中。

实时更新中不包含的数据

以下内容仅在初始回填期间导出, 并且不会 由 Webhook 更新:

  • 检查运行状态
  • 检测套件
  • GitHub Pages 配置

对源存储库内的引用(例如用户提及或指向同一存储库中问题和拉取请求的链接)进行重写,以确保在迁移后仍能正确指向资源。

不同仓库的引用(例如,在 repo-1 中的拉取请求里链接到 **** 仓库中的某个问题)repo-2被迁移,并且在迁移后将指向完全相同的目标。 即使引用的存储库已经迁移或正在迁移的过程中,该规则仍然适用。