ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。
記事のバージョン: 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のOrganizationのリポジトリのエクスポート

移行 API を使うと、Organization のリポジトリをエクスポートできます。 リポジトリをエクスポートすると、インポートプロセスで使用される移行アーカイブをダウンロードします。

Note: Fork relationships do not persist after a migration.

GitHub.com からリポジトリデータをエクスポートするには、移行 API を使います。

移行APIは現在プレビュー期間です。すなわち、エンドポイントとパラメータは将来変更されることがあります。 移行APIにアクセスするには、カスタムのメディアタイプとしてapplication/vnd.github.wyandotte-preview+jsonAcceptヘッダで渡さなければなりません。 以下の例にはカスタムのメディアタイプが含まれています。

移行アーカイブの生成

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. 移行を行うOrganizationのメンバーに通知します。 エクスポートには、対象のリポジトリ数に応じて数分がかかることがあります。 インポートを含む完全な移行には何時間もかかる可能性があるため、完全な処理にかかる時間を判断するためにまず試行することをおすすめします。 詳細は「移行について」を参照してください。

  2. 移行エンドポイントPOST することで移行を開始します。 以下が必要です:

    • 認証のためのアクセストークン。

    • 移行するリポジトリのリスト

      curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X POST \
      -H "Accept: application/vnd.github.wyandotte-preview+json" \
      -d'{"lock_repositories":true,"repositories":["orgname/reponame", "orgname/reponame"]}' \
      https://api.github.com/orgs/orgname/migrations
    • 移行する前にリポジトリをロックするには、lock_repositoriestrue になっていることを確認してください。 これについては強くおすすめします。

    • exclude_attachments: true をエンドポイントに渡すと、添付ファイルを除外できます。 添付ファイルは大きくなる場合があり、最終的なマイグレーションアーカイブを不必要に膨らませてしまう場合があります。 最終的なアーカイブのサイズは 5 GB 未満でなければなりません。

      このリクエストは移行を表す一意の id を返します。 これは次の移行 API の呼び出しに必要となります。

  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. 移行アーカイブは 7 日間経過すると自動的に削除されます。 もっと早く削除したい場合は、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".

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください