バージョン管理をSubversionからGitに移行した
開発環境の移行に伴ってバージョン管理システムもSubversionからGitに移行。開発マシンは旧MacBook Airと新MacBook Air、リモートのリポジトリはさくらのVPSにでも置いてみることに。
手元のMacにインストール
まずは手元のMacにGitをインストール。インストールについてはググったら出てくる。
% sudo port install git-core +svn
新Airのほうも同様に git-core をインストールした。
旧マシンでリポジトリを移行
次にSubversionのリポジトリをGitに移行してみる。適当にディレクトリを作って、
% mkdir ~/git % cd ~/git
「SubversionからGitに移行 – ひげろぐ」や「[git] Subversionからgitへ移行する – wadsのblog」を参考に、
% git svn clone -T trunk -b branches -t tags file:///path/to/subversion/repos newrepos
これだけ。オプションはSubversion側で trunk やら tags やら作っていた場合にそのディレクトリ名を指定するといいらしい。
リモートのCentOSにGitをインストール
次にリモートのVPSにGitをインストール。「CentOS 5.1にGitをパッケージで入れる – ひげろぐ」の追記を参考にEPELから入れてみた。VPSにログインして、
$ wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm $ sudo rpm -ivh epel-release-5-4.noarch.rpm $ sudo yum install git
これだけ。
次にリポジトリを格納する場所を作る。「せっかちな人のための git 入門 – git をインストールし、共同で開発できる環境を整えるまで : 僕は発展途上技術者」を参考に、適当にディレクトリを作って init する。
$ mkdir -p /var/www/git/myproject $ cd /var/www/git/myproject $ git --bare init
リモートでの作業は以上。
ローカルのリポジトリをリモートへpush
手元でSubversionから移行して作成したGitのリポジトリをリモートへpushする。
% cd ~/git/newrepos % git remote add origin ssh://remote.server.address/var/www/git/myproject % git push origin master
速い。Gitはファイルの圧縮方式を工夫してるらしい。
新マシンにチェックアウト
最後に新マシンのほうにリポジトリをチェックアウト(clone)してくる。たまに時間がかかることがあるらしいが、すんなりいけた。
% mkdir ~/git % cd ~/git % git clone ssh://remote.server.address/var/www/git/myproject
これで ~/git/myproject ができていればOK。
コメントを残す