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

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

>[!NOTE] 
Enterprise Live Migrations 位于 公开预览，可能会有变动。

## 迁移的数据

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

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

### 存储库设置和配置

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

### Git 数据、LFS 和 Wiki

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

### 问题、评论和反应

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

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

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

### 标签、里程碑、发布和 CI

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

### 二进制资产和文件附件

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

### 用户和模特

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

## 不迁移的数据

### 存储库数据

| Data | Notes |
|---|---|
| 存储库默认值 | N/A |
| 存储库规则集 | 仅迁移分支保护规则。 |
| 从分叉拉取请求 | N/A |
| 待处理的拉取请求评审 | 仅迁移提交的评论。 |

### 组织数据

组织级别数据（例如以下内容）**未**迁移：

* Settings
* 团队
* 项目
* Webhooks

## 实时更新中包含的事件

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

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

| 资源类型 | 支持的事件 | 不支持的事件 |
|---|---|---|
| **Repository** | `edited` | 
`archived`、`deleted`、`privatized`、`publicized`、`renamed`、`transferred`、`unarchived` |
| **Issues** | 
`assigned`、`closed`、`edited`、`labeled`、`opened`、`reopened`、`unassigned`、`unlabeled`、`milestoned`、`demilestoned` | 
`deleted`、`locked`、`pinned`、`transferred`、`unlocked`、`unpinned` |
| **问题注释** | 
`created`、`edited` | `deleted` |
| **拉取请求** | 
`assigned`、、`closed`、`converted_to_draft``edited`、`labeled`、`opened``ready_for_review``reopened``unassigned`、`unlabeled`、、 `milestoned``demilestoned` | 
`auto_merge_disabled`、`auto_merge_enabled`、`dequeued`、`enqueued`、`locked`、`review_request_removed`、`review_requested`、`synchronize`、`unlocked` |
| **拉取请求评审** | 
`edited`、`submitted` | `dismissed` |
| **合并请求评审评论** | `edited` | 
`created`、`deleted` |
| **拉取请求评审线程** | 
`resolved`、`unresolved` | N/A |
| **标签** | `created` | 
`deleted`、`edited` |
| **发布** | 
`created`、`edited`、`prereleased`、`published`、`released`、`unpublished` | `deleted` |
| **里程碑** | 
`closed`、`created`、`edited`、`opened` | `deleted` |
| **分支保护规则** | 
`created`、`edited` | `deleted` |
| **提交注释** | 
`created`、`edited` | `deleted` |
| **页面生成** | 所有操作 | N/A |
| **提交状态检查** | 所有操作 | N/A |
| **维基** | 所有操作 | N/A |
| **自动链接** | 
`created`、`deleted` | N/A |
| **关闭问题引用** | `created` | N/A |
| **反应** | 
`created`、`deleted` | N/A |
| **存储库操作设置** | `updated` | N/A |
| **存储库 Webhook** | 
`created`、`updated` | N/A |

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

## 实时更新中不包含的数据

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

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

## 重写链接和提及

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

不同存储库的引用（例如，从拉取请求<c2>中指向<c3>存储库中某问题的链接）<c0>不会</c0>被迁移，迁移后将指向完全相同的目标。 即使引用的存储库已经迁移或正在迁移的过程中，该规则仍然适用。