1. はじめに
プライベートリポジトリを GitHub で管理したいがために、これまで 1年半ほど、Microプラン(プライベートリポジトリを5つまで作成可)に入っていたのですが、最近の円高の影響もあって、頻繁に更新しているわけでもないのに毎月7ドル(先月の支払は 876円)も払い続けているのは地味に高いなぁと思っていたわけです。
GitHub は使い慣れていたので、これはこれで良かったのですが、Bitbucket なら無料プランでもプライベートリポジトリがいくつでも作れると(ただしチームは5人まで)いうことを知り、簡単に移行できればなぁと思ってググったところ、qiita.com
という素敵な記事を見つけたので、早速移行してみることに。
そういうわけで今回は、GitHub から Bitbucket にプライベートリポジトリを移行する手順をメモしておきます。
例として、以下のプライベートリポジトリが GitHub にあるとして話を進めます。
2. 手順
Bitbucket にログインし、「作成」 -> 「リポジトリの作成」をクリック。
Name | 移行する GitHub の privateリポジトリと同じ名前 |
アクセスレベル | 「これは非公開リポジトリです」にチェック |
を入力し、「リポジトリの作成」をクリックして空のリポジトリを作成します。
以降のコマンドは、
で書かれている内容とほぼ同じです(「git remote add」が「git remote set-url」に変わっているくらい)。
ちなみに、Mac のターミナルで操作しています。
$ cd ~ $ mkdir github $ cd github/ ### GitHub から clone $ git clone https://github.com/akiyoko/d3-position.git $ cd d3-position/ $ git remote -v origin https://github.com/akiyoko/d3-position.git (fetch) origin https://github.com/akiyoko/d3-position.git (push) ### リモートリポジトリのアドレスを書き換え $ git remote set-url origin https://akiyoko@bitbucket.org/akiyoko/d3-position.git $ git remote -v origin https://akiyoko@bitbucket.org/akiyoko/d3-position.git (fetch) origin https://akiyoko@bitbucket.org/akiyoko/d3-position.git (push) ### Bitbucket に push $ git push -u origin --all $ git push -u origin --tags
ここまでで、GitHub から Bitbucket へのリポジトリの移行は問題なく完了しているのですが、Bitbucket のリポジトリを見てみると、コミットユーザのところに「対応づけのないユーザ」という表示が出ている場合があります。
この場合は、以下のリンクから、ユーザー名のエイリアスを追加するとよいようです(ちなみに、ユーザー名のエイリアスはリポジトリごとの設定となります)。
最後に、Bitbucket のリポジトリが正しく clone できるか確認しておきます。
$ cd ~/tmp/ $ git clone https://akiyoko@bitbucket.org/akiyoko/d3-position.git
特に問題ありませんでした。
3. まとめ
今まで GitHub にお金を払っていたのが馬鹿らしくなるくらい、Bitbucket へのプライベートリポジトリの移行は簡単でした。
もっと早く知っていれば。。。うう。