Preparing the source organization on GitHub
-  Ensure that you have owner permissions on the source organization's repositories. 
-  生成范围为 repo和admin:org的访问令牌。 on GitHub.com.
-  为尽量减少停机,请创建要从源实例导出的仓库列表。 您可以使用每行列出一个仓库 URL 的文本文件一次性导出多个仓库。 
Exporting the organization's repositories
注意:复刻关系在迁移后不会持续。
To export repository data from GitHub.com, use the Migrations API.
The Migrations API is currently in a preview period, which means that the endpoints and parameters may change in the future.
Generating a migration archive
Note: Locking a repository prevents all write access to the repository. 您不能将新团队或协作者与锁定的仓库相关联。 如果您执行的试用版,则� 需锁定仓库。 当您从正在使用的仓库迁移数据时,
GitHub 强烈建议锁定仓库。 更多信息请参阅“关于迁移”。
-  Notify members of your organization that you'll be performing a migration. The export can take several minutes, depending on the number of repositories being exported. The full migration including import may take several hours so we recommend doing a trial run in order to determine how long the full process will take. For more information, see "About Migrations." 
-  Start a migration by sending a POSTrequest to the migration endpoint. You'll need:- Your access token for authentication.
- A list of the repositories you want to migrate: curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ -X POST \ -H "Accept: application/vnd.github.v3+json" \ -d'{"lock_repositories":true,"repositories":["orgname/reponame", "orgname/reponame"]}' \ https://api.github.com/orgs/orgname/migrations
- If you want to lock the repositories before migrating them, make sure lock_repositoriesis set totrue. This is highly recommended.
- You can exclude file attachments by passing exclude_attachments: trueto the endpoint. 文件附件可能很大,可能不必要地胀大您的最终迁移存档。 The final archive size must be less than 20 GB.
 This request returns a unique idwhich represents your migration. You'll need it for subsequent calls to the Migrations API.
-  Send a GETrequest to the migration status endpoint to fetch the status of a migration. You'll need:- Your access token for authentication.
- The unique idof the migration:curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/orgs/orgname/migrations/id
 A migration can be in one of the following states: - pending, which means the migration hasn't started yet.
- exporting, which means the migration is in progress.
- exported, which means the migration finished successfully.
- failed, which means the migration failed.
 
-  After your migration has exported, download the migration archive by sending a GETrequest to the migration download endpoint. You'll need:- Your access token for authentication.
- The unique idof the migration:curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github.v3+json" \ -L -o migration_archive.tar.gz \ https://api.github.com/orgs/orgname/migrations/id/archive
 
-  The migration archive is automatically deleted after seven days. If you would prefer to delete it sooner, you can send a DELETErequest to the migration archive delete endpoint. You'll need:- Your access token for authentication.
- The unique idof the migration:curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ -X DELETE \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/orgs/orgname/migrations/id/archive
 
-  要将存档的迁移数据导入到 GitHub Enterprise Server 实例,请参阅“准备将数据迁移到企业”。