我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: Enterprise Server 2.14

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-07-12. 即使出现严重安全问题,也不会发布补丁。要获得更好的性能、更高的安全性和全新功能,请升级到 GitHub Enterprise 的最新版本。 要获取有关升级的帮助,请联系 GitHub Enterprise 支持部门

导出 GitHub.com 组织的仓库

使用 Migrations API,您可以导出组织的仓库。 在导出仓库后,您可以下载能够用于导入过程的迁移存档。

注:迁移后分叉关系不再存在。

要从 GitHub.com 导出仓库数据,请使用 Migrations API

Migrations API 目前正处于预览阶段,这意味着端点和参数未来可能发生变化。 要访问 Migrations API,您必须在 Accept 标头中提供自定义媒体类型application/vnd.github.wyandotte-preview+json。 以下示例包括自定义媒体类型。

生成迁移存档

注: 锁定仓库可阻止用户推送到仓库或修改仓库的资源,例如议题、标签、重要事件、维基和注释。新的团队和协作者无法与锁定的仓库关联。

如果您在执行试运行,无需锁定仓库。否则,强烈建议您锁定。更多信息请参阅 “关于迁移。”

  1. 向您的组织的成员发送通知,告诉他们您将执行迁移。 导出可能需要数分钟的时间,具体取决于要导出的仓库数量。 包括导入的完整迁移可能需要数小时的时间,因此我们建议执行试运行,以便确定完整过程所需的时间。 更多信息请参阅“关于迁移”。

  2. 迁移端点发送 POST 请求,开始迁移。 您需要:

    - 身份验证的访问令牌。
    - 想要迁移的[仓库列表](https://developer.github.com/v3/repos/#list-organization-repositories): 
            shell
            curl -H "Authorization: token <em>GITHUB_ACCESS_TOKEN</em>" -X POST \
            -H "Accept: application/vnd.github.wyandotte-preview+json" \
            -d'{"lock_repositories":true,"repositories":["<em>orgname</em>/<em>reponame</em>", "<em>orgname</em>/<em>reponame</em>"]}' \
            https://api.github.com/orgs/<em>orgname</em>/migrations
    
    - 如果您想在迁移仓库之前先将其锁定,请确保 `lock_repositories` 设为 `true`。 强烈建议执行此操作。
    - 您可以向端点传递 `exclude_attachments: true`,排除文件附件。 文件附件可能很大,可能不必要地胀大您的最终迁移存档。
    

    存档的最终大小必须小于 5 GB。

    此请求将返回一个独一无二的 `id`,用于表示您的迁移。 后续调用 Migrations API 时需要使用此 id。
    
  3. 迁移状态端点发送 GET 请求以提取迁移的状态。 您需要:

    • 身份验证的访问令牌。
    • 迁移的唯一 id: shell curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github.wyandotte-preview+json" \https://api.github.com/orgs/orgname/migrations/id

    迁移可能处于以下状态之一:

    • pending,表示迁移尚未开始。
    • exporting,表示迁移正在进行。
    • exported,表示迁移已成功完成。
    • failed,表示迁移失败。
  4. 在导出您的迁移后,请向迁移下载端点发送 GET 请求,下载迁移存档。 您需要:

    • 身份验证的访问令牌。
    • 迁移的唯一 id: shell curl -H "Accept: application/vnd.github.wyandotte-preview+json" \ -u GITHUB_USERNAME:GITHUB_ACCESS_TOKEN \ -L -o migration_archive.tar.gz \https://api.github.com/orgs/orgname/migrations/id/archive
  5. 迁移存档将在七天后自动删除。 如果您更喜欢提前删除,可以向迁移存档删除端点发送 DELETE 请求。 您需要:

    • 身份验证的访问令牌。
    • 迁移的唯一 id: shell curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ -H "Accept: application/vnd.github.wyandotte-preview+json" \https://api.github.com/orgs/orgname/migrations/id/archive
  6. 要将存档的迁移数据导入 GitHub Enterprise Server 实例,请参阅“将迁移数据导入 GitHub Enterprise Server”。

问问别人

找不到要找的内容?

联系我们