Google Codeで管理していたコードをgithubへ移行する

2010.07.11 / develop

最近は仕事でgitを使うケースがSubversionと比べて圧倒的に多いので、個人的にGoogle Codeでホスティングしていたコードもgithubに移すことにしました。

git-svn

移行作業にはgit-svnが必要になります。MacOSXでgit-svnを使うには、git-coreをmacportsで入れるときに、+svnのvariantsをつけてインストールしてあげるとOK。ぼくはすでにgit-coreをインストールしていたので、次のようにしてインストールしなおしました。

  sudo port deactivate git-core
  sudo port install git-core +svn
  

作業用ディレクトリの作成

作業用の適当なディレクトリを作ります。

  mkdir ~/Desktop/git
  cd ~/Desktop/git
  

authors.txtの作成

次のような内容のauthors.txtを作成。(no author)はGoogle Codeの初期設定で、名無しさんがtrunk, branches, tagsを作成しているようなので、この2行が必要になります。左辺はGoogleアカウント名、右辺はgithubに登録した名前とメールアドレスです。

  ryo katsuma = ryo katsuma <katsuma@gmail.com>
  (no author) = ryo katsuma <katsuma@gmail.com>
  

移行用レポジトリを作成

githubで移行用のレポジトリを作成します。作成はここから。

移行

ここまでくるとあとは簡単。

  git svn clone -s -A ./authors.txt http://svn_repo.googlecode.com/svn repo
  cd repo/
  git remote add origin git@github.com:katsuma/new_repo.git
  git push origin master
  

まとめ

Google Codeからgithubの移行は、実作業はauthors.txtを用意するくらいで、全体としてそんなに複雑なものではなかったと思います。 ちなみに今回の作業を通してTokyo-Joggingのコードを全部githubに移しました。 コード管理はもちろん、サイト全体の操作性なんかもGoogle Codeと比べてgithubの方が優れていると思うので、移行して正解だったかなーと感じています。