FooBar

note to self

BitbucketからGitHubに移行する方法

こんにちは。本日はBitbucetからGitHubへリポジトリを移行する方法についてです。

以前はGitHubは有料会員でないとPrivateなリポジトリを持てなかったので、公開したくないリポジトリはBitbucketを代わりにして使っていました。

結構前ですが、GitHubでもプライベートリポジトリを持てるようになりBitbucketから移行しようと思っていたので、その方法を備忘録として残しておきます。

bitbucket側の設定

移行したいリポジトリが公開になっているか確認します。

もし公開になっていない場合は、事前にリポジトリの公開設定をprivateからpublicに変えておく。

f:id:otsukasatoshi:20191005152028p:plain

リポジトリの設定からアクセスレベルの設定をはずしておきます。

この設定をしないとGitHub側で書き込みできないので注意してください。

GitHubの設定

続いてGitHub側での設定です。

GitHubのインポート機能 (https://github.com/new/import) に飛んで移行したいURL(https://bitbucket.org/username/repository/src/branchname/)を入れます。

f:id:otsukasatoshi:20191005133813p:plain

この際に事前にGitHub側で空のリポジトリを作成しておかなくてもOKです。

インポート途中でGitHubのユーザー名とパスワードを聞かれるので入れて先に進みます。

時間が結構かかるのでしばらく放置しておきましょう。

無事終わると以下のようなインポートが完了した旨のメッセージが表示されます。

f:id:otsukasatoshi:20191005150725p:plain

これでインポートは完了です。(簡単!)

ちなみにBitbucket時代にコミットやプッシュした履歴はGitHub側に引き継がれます。
なのでGitHubの草も反映されるので、草もそのまま増えます。(草生やす作業してる人にはいいですね!)

ローカルリポジトリのリモートのURLを変更する

BitbucketからGitHubへの移行は上記で完了です。
しかしながら、まだローカルリポジトリのURLはBitbucketになっているはずです。

このままではpullしたりpushしたりする時にBitbucketのリモートURLを指しているので、GitHubを指すように以下のコマンドを実行します。

$ git remote set-url origin (gitリポジトリのURL)

あとはいつも通りにcommit → pushをして、きちんとGitHubに反映されていれば全て完了です🎉

本日は以上です。