GitHub Organizationの無料プランが発表されました。これを機に、GitHub以外のリモートリポジトリから引越ししようと考えている人もいるのではないでしょうか。今回は、BitbucketからGitHubへ引越しする手順をまとめます。難しい作業ではありませんので、ご心配なく!

GitHub Organizationを用意する

Organizationを作る作業はほんの数クリック。

GitHubのプロフィール画面等で、右上の「+」ボタンをクリック。「New Organization」をクリックします。

New Organizationをクリック

次は、プランを選びます。今回追加された「Free」のプランを選択します🎉

Freeのプランを選択

次に、Organizationアカウントを作成します。アカウント名と連絡先のメールアドレスを入力し、Organizationがパーソナルかビジネスかを選択します。ビジネスなら会社名や機関名を入力します。

Organizationアカウントの設定をする

これでチームは出来上がり!次の画面で、チームメンバーを招待する画面が出てきますが、スキップすることもできます。

BitbucketからGitHubへリポジトリを移行する

Bitbucket側の作業

リポジトリのトップ画面で、右上の「クローンの作成」をクリックします。

クローンの作成をクリック

ダイアログが表示されたら、リポジトリのURLをHTTPSで表示し、そのURLをコピーしておきます。

HTTPSのリンクをコピーしておく

Bitbucketの作業は以上です。

GitHub側の作業

GitHubのプロフィール画面等で、右上の「+」をクリック。「Import Repository」をクリックします。

Import Repositoryをクリック

インポートの設定をします。 クローン元のURLは、先程BitbucketでコピーしたHTTPSのURLを入力。 Ownerの部分は、先程作ったOrganizationを選択します。Name(リポジトリ名)は従来のものでも、新しい名前にしても大丈夫です。 PublicかPrivateかを選択したら、「Begin Import」をクリックします。

インポートの設定

しばらくすると、Bitbucketへのログインアカウントを聞かれますので、インポートするリポジトリにアクセスできるアカウントでログインしてください。 Bitbucketにログインすると、あとは自動でインポートされるので、GitHubのホーム画面など好きな画面に戻ります。

インポートが終わると、メールに通知が届きます。 移行手順はこれで以上です!

移行されるもの・移行されないもの

Git関連が移動するのみで、プルリクは移行できません。

コミットIDは引き継がれる

コミットIDは引き継がれます。Gitのリモートリポジトリをクローンしたときと同じですね! コミットログにはコミットしたアカウントが入っているので、もちろんそれも引き継がれます。 つまり、インポートしたGitのコミットが、GitHubアカウントのメールアドレス・エイリアスのアドレスと一致していれば、“草"に反映されます。

BitbucketとGitHubの比較-1

BitbucketとGitHubの比較-2

ブランチも引き継がれる

Bitbucketにプッシュされていたブランチは、そのままGitHubにインポートされます。これもクローンしたときと同じ動作ですね。

BitbucketとGitHubの比較-3

BitbucketとGitHubの比較-4

プルリクや課題(Issue)は引き継がれない

プルリクや課題は、Bitbucketプラットフォーム上のコンテンツなので、GitHubには移行されません。 引越しする場合は、プルリクなどが落ち着いてからにするか、引越しを先にやって再度プルリクを出すことになります。


まとめ

BitbucketからGitHubのOrganizationへ移行する手順をまとめました。 基本的にはGitHubが用意しているインポート機能に乗っかるだけなので、難しいことはありません。 これまで、GitHub Organizationのフリープランがなかったので、草を我慢してきた人もいると思います。でも、これからはどんどん、草を生やしていけますね!