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

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-10-16. 即使针对重大安全问题,也不会发布补丁。 For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

导出 GitHub.com 组织的仓库

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

Note: Fork relationships do not persist after a migration.

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

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

生成迁移存档

Note: Locking a repository prevents users from pushing to the repository or modifying a repository's resources, like issues, labels, milestones, wikis, and comments. New teams and collaborators can't be associated with a locked repository.

If you're performing a trial run, you don't need to lock repositories. Otherwise, it's highly recommended. 更多信息请参阅“关于迁移”。

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

  2. 迁移端点发送 POST 请求,开始迁移。 您需要: 身份验证的访问令牌。 想要迁移的仓库列表

      <pre><code class="hljs language-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</code></pre>
    *  如果您想在迁移仓库之前先将其锁定,请确保 `lock_repositories` 设为 `true`。 强烈建议执行此操作。
    * 您可以向端点传递 `exclude_attachments: true`,排除文件附件。 文件附件可能很大,可能不必要地胀大您的最终迁移存档。

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

    此请求将返回一个独一无二的 id,用于表示您的迁移。 后续调用 Migrations API 时需要使用此 id。

  3. 迁移状态端点发送 GET 请求以提取迁移的状态。 您需要:

    • 身份验证的访问令牌。
    • 迁移的唯一 id

      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

      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

      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. To import the archived migration data to a GitHub Enterprise Server instance, see "Importing migration data to GitHub Enterprise Server".

问问别人

找不到要找的内容?

联系我们