Rock'n'Hack ブログ

それなりハッカーを目指して、もろもろのメモ。bloggerから引っ越しました。

Github から Bitbucket へのリポジトリの移行方法

Github のプライベートリポジトリでソース管理していたものの、
お金がないから無料でプライベートリポジトリを使える Bitbucket に移行した際のメモ。

移行対象

  • ソース
  • Wiki
  • Issue

手順

ソース移行

$ git clone git@github.com:hoge/HogeHoge.git
  • 全ブランチをチェックアウト(多分もっとかっこいい方法があるはず)
$ for branch in `git branch -r | grep -v HEAD | awk -F'/' '{print $2}'`; do git checkout $branch; git pull; done
$ git remote add bit git@bitbucket.org:hoge/HogeHoge.git
  • Bitbucket へ全部プッシュ
$ git push -u bit --all

 

Wiki 移行

Github と Bitbucket 双方ともに、wiki を git リポジトリとして管理している。 URLはそれぞれ下記。

つまり、これらをソース移行の手順と同様に移してあげればOK。

 

Issue 移行

こちらは少し面倒くさい。それぞれ異なる形式で保存している模様です。
ですが、素敵な御仁が migrate ツールを作ってくださっていました。ありがとうございますm(._.)m

上記を使用すると、zip 形式で issue が出力されます。手順は Readme の通りで簡単で嬉しいです。

$ bundle install --path vendor/bundle
$ bundle exec ruby cli.rb githubuser/repo username password exportfilename.zip

出力されたら、リポジトリの画面から Settingsインポート & エクスポート に遷移し、ファイルを選択すればOKです。

 

以上です。
Issue とかは完璧ではない(リンクとか切れるかも)ですが、捨てるのもあれですし割りとサクッと移行できるのは嬉しいですね。