仕事でのソフトウェア開発ではバージョン管理ツールにたいていSubversionを使っています。主な理由は、
- マルチプラットフォーム対応
- 割と安定している
- 一開発者として必要な操作を覚えるのが簡単
- 情報(日本語)が多い
といったところでしょうか。
Subversion以外のツールを使ったのは
- 一人で、試行錯誤が多い作業をするときにMercurial
- 開発現場が地理的に離れ、ネットワーク的に切り離されていたときにBazaar
です*1。
Mercurialは、リポジトリと作業ディレクトリが同じでよいという1台のPCで作業&管理するときに手軽な点で使いました。このときBazaarの存在は知らず、GitはWindowsではまだ使い物にならなかった頃です。
Bazaarは、分散がまさに必要だった環境で、また、WindowsとLinuxから日本語ファイル名を扱うという状況だったので、その時点ではほぼ一択でした。
それで、今までは仕事場ではBazaarが最適ではないかと思っていました。しかし、Bazaarはオープンソースの分散バージョン管理ツール御三家の中で3番手、NetBeansは標準でGit,Mercurial,Subversionに対応しているもののBazaarはプラグインもない状況です。
そうこうしているうちに、Gitが日本語ファイル問題の対応を進めました。ファイル名をUTF-8で保持するというアプローチのようです。日本語Windows上ではファイル名をCP932(Shift_JIS拡張)で扱うのでリポジトリに入れる際はUTF-8に変換します。
Mercurialの方は、win32mbcsを有効にするとWindows上で日本語のファイル名を扱えますが、CP932で保持するのでLinuxなどのUTF-8環境に持っていくと文字化けてしまいます。
もしくは、fixutf8というエクステンションがありますが、これはMercurial 2.x系には対応できていないようです。
Gitは最近、日本語情報(書籍、Web情報)が充実して、Web上ではサルも女子高生もGitを使う始末です。
- サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ
- 「うわっ…私のバージョン管理、ダメ過ぎ…?」を解決するGitの使い方“超”入門 (1/3):かんばん!〜もし女子高生がRedmineでスクラム開発をしたら(5) - @IT
Windows上でGitを使うには
Cygwinは、Linux環境に慣れた人が使うには楽ですが、Windowsべったりな人は使うのが難しいので、msysgitを使います。
UTF-8対応されたmsysgit 1.7.10以降を使います。
また、GUIを使いたい場合、
- git-cheetah(msysgit付属、エクスプローラ拡張)
- TortoiseGit
- Git Extensions
などがあります。
SubversionでTortoiseSVNを使っているケースが多いので、TortoiseGitがよさそうに思えます*2
。UTF-8対応されたmsysgitと対応するTortoiseGit 1.7.9以降のバージョンを使います。
今日はここまで