我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: 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 Enterprise Server 源仓库

在锁定源仓库后,您可以一次导出一个,或者使用文本文件格式的仓库 URL 列表批量导出。 随后,您可以创建一个迁移存档,用于导入。

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. SSH into 您的 GitHub Enterprise Server 实例.

    $ ssh -p 122 admin@HOSTNAME
  2. 要准备需要导出的仓库,请使用 ghe-migrator add 命令和仓库的 URL:

    • 如果您要锁定仓库,请在命令后附加 --lock。 如果您执行的是试运行,则不需要 --lock

      $ ghe-migrator add https://hostname/username/reponame --lock
    • 您可以将 --exclude_attachments 附加到命令,排除文件附件。 文件附件可能很大,可能不必要地胀大您的最终迁移存档。

    • 要一次准备多个将导出的仓库,请创建一个文本文件并在单独的行中列出每个仓库 URL,然后运行包含 -i 标志和您的文本文件路径的 ghe-migrator add 命令。

      $ ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URLS.txt
  3. 出现提示时,请输入您的 GitHub Enterprise Server 用户名:

    Enter username authorized for migration:  admin
  4. 出现输入个人访问令牌的提示时,请输入您在“准备 GitHub Enterprise Server 源实例”中创建的访问令牌:

    Enter personal access token:  **************
  5. ghe-migrator add 完成后,它将打印自身生成并用于标识此导出的唯一的“迁移 GUID”以及添加到导出中的资源列表。 在后续的 ghe-migrator addghe-migrator export 步骤中,您将使用它生成的迁移 GUID 指示 ghe-migrator 继续在同一个导出上操作。

    > 101 models added to export
    > Migration GUID: example-migration-guid> Number of records in this migration:
    > users                        |  5
    > organizations                |  1
    > repositories                 |  1
    > teams                        |  3
    > protected_branches           |  1
    > pull_request_reviews         |  1
    > milestones                   |  1
    > issues                       |  3
    > pull_requests                |  5
    > pull_request_review_comments |  4
    > commit_comments              |  2
    > issue_comments               | 10
    > issue_events                 | 63
    > releases                     |  3
    > attachments                  |  4
    > projects                     |  2

    每次您添加包含现有迁移 GUID 的新仓库时,它都会更新现有导出。 If you run ghe-migrator add again without a Migration GUID it will start a new export and generate a new Migration GUID. Do not re-use the Migration GUID generated during an export when you start preparing your migration for import.

  6. 如果您锁定了源仓库,则可以使用 ghe-migrator target_url 命令,在链接到仓库新位置的仓库页面上设置自定义锁定消息。 传递源仓库 URL、目标仓库 URL 和第 5 步中的迁移 GUID:

    $ ghe-migrator target_url https://hostname/username/reponame https://target_hostname/target_username/target_reponame -g MIGRATION_GUID
  7. 要向同一个导出添加更多仓库,请使用包含 -g 标志的 ghe-migrator add 命令。 您需要传入新仓库 URL 和第 5 步中的迁移 GUID:

    $ ghe-migrator add https://hostname/username/other_reponame -g MIGRATION_GUID --lock
  8. 添加完仓库后,请使用包含 -g 标志和第 5 步中的迁移 GUID 的 ghe-migrator export 命令生成迁移存档:

    $ ghe-migrator export -g MIGRATION_GUID> Archive saved to: /data/github/current/tmp/MIGRATION_GUID.tar.gz
    • To specify where migration files should be staged append the command with --staging-path=/full/staging/path. Defaults to /data/user/tmp.
  9. Close the connection to 您的 GitHub Enterprise Server 实例:

    $ exit
    > logout
    > Connection to hostname closed.
  10. 使用 scp 命令将迁移存档复制到您的计算机。 存档文件将使用迁移 GUID 命名:

    $ scp -P 122 admin@hostname:/data/github/current/tmp/MIGRATION_GUID.tar.gz ~/Desktop
  11. To import the archived migration data to a GitHub Enterprise Server instance, see "Importing migration data to GitHub Enterprise Server".

问问别人

找不到要找的内容?

联系我们