ブルーマークの webdev チームは、昔からソースコード管理システム (以下 SCM) を偏愛していて、 CVS を使い始めたのが 2001 年、Subversion に乗り換え始めたのが 2004 年だったと記憶しています。プログラマーはもちろん、ディレクター・デザイナーもすべてのプロジェクトで Subversion を使います。システムが絡まないサイト制作でさえも SCM を使ってたのは、当時としては結構珍しかったんじゃないかなと思います。その甲斐あってか、FTP での live リリース時に、間違ったディレクトリにファイルアップしてしまったり、別のスタッフが変更した部分を思いっきり古いコードで上書いて喧嘩になったりしていたことを遠い目をして懐かしみつつ、ブランデー片手に update コマンド一発でオシャレにリリースという快楽を享受してきたわけです。
で、本題の Git 。分散バージョン管理がいいぞいいぞという話は小耳に挟みつつも、Subversion with Trac ( Python ベースのプロジェクト管理ウェブアプリ) の環境に特に不満も無く、そこにすっかり安住してしまっていました。が、つい最近気まぐれに使ってみたら、圧倒的に良いじゃーありませんか! まずメチャクチャ速い。それだけで乗り換える価値があります。あと当たり前だけど GitHub が使える。この時点で Mercurial, Bazaar は僕の選択肢から外れます。その他の様々なメリットや他のプロダクトについても知りたい方は、下記が良くまとまっているのでオススメ。特に二つ目の記事はリーナスの強烈なパーソナリティが分かったりして読み物としても面白い。
でも結局のところ、分散バージョン管理の良さは使ってみないと分からないと思います。SCM を使ってる人なら誰しも「バージョン管理無しの開発なんかダサくて戻れない」って言うハズだけど、結局それも使ってみるまで気づかなかったのと一緒。ブレーキ無しの自転車には怖くて乗れない。ギャルはスッピンで出かけない。さまぁ〜ずはもうバカルディに戻れない。そう言う感じです。でもそれだけだと弱いので、ダメ押しに以前どこかで読んだ「CVS は小学生まで」にちなんで、「Subversion は中学生まで」と言っておきます。なーんて言いながらブルーマークはまだ移行が終わってないので、「春休み中、高校の部活にフライング参加を志願する面倒くさい中学三年生」よろしく張り切って移行していきたいと思います。
Mac 且つ MacPorts 導入済みのあなたは、
$ sudo port install git-core +svn
で簡単にインストールできます。 variants (インストールオプション) の +svn を付けておくのがポイント。 git-svn という Subversion からの移行や Subversion との共存に必要なツール込みでインストールします。
最後に日本語で読める良いリソースを 5 つ挙げておきます。
- Git 入門 – オフィシャルドキュメントが日本語で読めます。
- Gitを使って設定ファイルを管理する on OS X(入門編) – Mac ユーザー向けのチュートリアルに加えて GitHub の導入も。
- SubversionリポジトリをGitへ移行する – git-svn, svn2git の使い方が詳しく解説されています。
- はじめてのGit- WEB+DB PRESS vol.50 – Git 開発者による 45 ページの特集。さすがにこれが一番分かりやすい。
- これからGitを始める人が読むべき記事のまとめ – その他日本語記事まとめページ。