BitbucketからGitHubへリポジトリを移行する方法
Table of Contents
GitHub Organizationの無料プランが発表されました。これを機に、GitHub以外のリモートリポジトリから引越ししようと考えている人もいるのではないでしょうか。今回は、BitbucketからGitHubへ引越しする手順をまとめます。難しい作業ではありませんので、ご心配なく!
GitHub Organizationを用意する #
Organizationを作る作業はほんの数クリック。
GitHubのプロフィール画面等で、右上の「+」ボタンをクリック。「New Organization」をクリックします。
次は、プランを選びます。今回追加された「Free」のプランを選択します🎉
次に、Organizationアカウントを作成します。アカウント名と連絡先のメールアドレスを入力し、Organizationがパーソナルかビジネスかを選択します。ビジネスなら会社名や機関名を入力します。
これでチームは出来上がり!次の画面で、チームメンバーを招待する画面が出てきますが、スキップすることもできます。
BitbucketからGitHubへリポジトリを移行する #
Bitbucket側の作業 #
リポジトリのトップ画面で、右上の「クローンの作成」をクリックします。
ダイアログが表示されたら、リポジトリのURLをHTTPSで表示し、そのURLをコピーしておきます。
Bitbucketの作業は以上です。
GitHub側の作業 #
GitHubのプロフィール画面等で、右上の「+」をクリック。「Import Repository」をクリックします。
インポートの設定をします。 クローン元のURLは、先程BitbucketでコピーしたHTTPSのURLを入力。 Ownerの部分は、先程作ったOrganizationを選択します。Name(リポジトリ名)は従来のものでも、新しい名前にしても大丈夫です。 PublicかPrivateかを選択したら、「Begin Import」をクリックします。
しばらくすると、Bitbucketへのログインアカウントを聞かれますので、インポートするリポジトリにアクセスできるアカウントでログインしてください。 Bitbucketにログインすると、あとは自動でインポートされるので、GitHubのホーム画面など好きな画面に戻ります。
インポートが終わると、メールに通知が届きます。 移行手順はこれで以上です!
移行されるもの・移行されないもの #
Git関連が移動するのみで、プルリクは移行できません。
コミットIDは引き継がれる #
コミットIDは引き継がれます。Gitのリモートリポジトリをクローンしたときと同じですね! コミットログにはコミットしたアカウントが入っているので、もちろんそれも引き継がれます。 つまり、インポートしたGitのコミットが、GitHubアカウントのメールアドレス・エイリアスのアドレスと一致していれば、“草"に反映されます。
ブランチも引き継がれる #
Bitbucketにプッシュされていたブランチは、そのままGitHubにインポートされます。これもクローンしたときと同じ動作ですね。
プルリクや課題(Issue)は引き継がれない #
プルリクや課題は、Bitbucketプラットフォーム上のコンテンツなので、GitHubには移行されません。 引越しする場合は、プルリクなどが落ち着いてからにするか、引越しを先にやって再度プルリクを出すことになります。
まとめ #
BitbucketからGitHubのOrganizationへ移行する手順をまとめました。 基本的にはGitHubが用意しているインポート機能に乗っかるだけなので、難しいことはありません。 これまで、GitHub Organizationのフリープランがなかったので、草を我慢してきた人もいると思います。でも、これからはどんどん、草を生やしていけますね!