Bitbucket Server からの移行について
GitHub Enterprise Importer を使って、リポジトリを Bitbucket Server から GitHub Enterprise Cloud (GitHub.com または GHE.com) に移行できます。 Bitbucket Server からの移行は、Bitbucket Server または Bitbucket Data Center バージョン 5.14 以降でのみサポートされています。
移行されるデータ
現在、次のリポジトリ データのみについて、Bitbucket Server から GitHub Enterprise Cloud への移行がサポートされています。
-
Git ソース (コミット履歴を含む)
-
pull request (コメント、pull request レビュー、ファイルおよび行レベルでの pull request レビュー コメント、必要なレビュー担当者、添付ファイルを含む)
メモ
ユーザーは、pull request を表示しようとしたときに、pull request がマージされ、移行前に Bitbucket Server で head ブランチが削除された場合に、
500
エラーを受け取る可能性があります。 Bitbucket Server は、このような pull request のオブジェクトへの特定の Git 参照を削除するため、pull request に関連付けられている Git オブジェクトは移行できません。
移行されないデータ
現時点では、次のデータは移行されません。
- ユーザーが所有する個人用リポジトリ
- 分岐アクセス許可
- コミットのコメント
- リポジトリ設定
- CI パイプライン
移行されたデータに関する制限
GitHub Enterprise Importer で何を移行できるかについては、制限があります。 GitHub の制限に起因するものもあれば、GitHub Enterprise Importer 自体の制限事項であるものもあります。
GitHub
の制限事項
- 1 つの Git コミットに対する 2 GB のサイズ制限: Git リポジトリ内の 1 つのコミットが 2 GB を超えることはできません。 いずれかのコミットが 2 GB を超える場合は、そのコミットを、それぞれが 2 GB 以下の小さなコミットに分割する必要があります。
- Git 参照の 255 バイトの制限: "ref" と呼ばれる 1 つの Git 参照には、255 バイトを超える名前を付けることはできません。 通常、これは、参照の長さは 255 文字を超えることはできませんが、絵文字などの ASCII 以外の文字は複数バイトを消費する可能性があることを意味します。 いずれかの Git 参照が大きすぎる場合は、明確なエラー メッセージが返されます。
- 100 MB のファイル サイズ制限: 移行が完了した後、Git リポジトリ内に 100 MB を超えるファイルは存在できません。 リポジトリの移行中は、この制限が 400 MB に増やされます。 大きなファイルを格納するためには、Git LFS を使用することを検討してください。 詳しくは、「大きなファイルを管理する」をご覧ください。
GitHub Enterprise Importer の制限事項
- リポジトリ アーカイブの 40 GB のサイズ制限 (パブリック プレビュー): Git データとメタデータの組み合わせが 40 GB を超えるリポジトリは、Importer でリポジトリ アーカイブに移行できません。
- 400 MB file size limit: When migrating a repository with GitHub Enterprise Importer, no single file in your Git repository can be larger than 400 MB. Consider using Git LFS for storing large files. For more information, see 大きなファイルを管理する.
- Git LFS objects not migrated: The Importer can migrate repositories that use Git LFS, but the LFS objects themselves will not be migrated. They can be pushed to your migration destination as a follow-up task after the migration is complete. For more information, see リポジトリを複製する.
- Follow-up tasks required: When migrating between GitHub products, certain settings are not migrated and must be reconfigured in the new repository. For a list of follow-up tasks you'll need to complete after each migration, see GitHub 製品間の移行に関する概要.
- Delayed code search functionality: Re-indexing the search index can take a few hours after a repository is migrated, and code searches may return unexpected results until re-indexing is complete.
- Rulesets configured for your organization can cause migrations to fail: For example, if you configured a rule that requires email addresses for commit authors to end with
@monalisa.cat
, and the repository you're migrating contains commits that don't comply with this rule, your migration will fail. For more information about rulesets, see ルールセットについて. - Mannequin content might not be searchable: Mannequins are placeholder users to which imported content (such as issues, pull requests, comments, etc.) is associated. When you search for content associated with a mannequin, such as assigned issues, the issues may not be found. Once a mannequin is reclaimed, the content should be found via the new owner. For more information, see GitHub Enterprise Importer のマネキンの回収.
概要
Bitbucket Server から移行する前に、移行の実行方法を計画する必要があります。 データを移行する前に、移行を実行する名前未登録ユーザーを選択する必要があります。 移行元と移行先の両方に必要なアクセス権をそのユーザーに付与する必要があります。 また、最初に試用版の移行を実行することをお勧めします。
最初から最後までの移行プロセスの概要については、「Bitbucket サーバーから GitHub Enterprise クラウドへの移行の概要」を参照してください。