今週、ツイッターに「バージョン管理システムでエロ画像を管理すれば、見つかる心配が無い」というつぶやきが流れてきて大笑いしました。見終わったらブランチを変えればいいわけです。頭良すぎます。
さて、偶然ですがちょうどTOPPERS/JSP for Blackfinのバージョン管理システムをGitに変更しようかと検討中でした。そんなわけで、上のつぶやきが流れてきたときに、ふと立ち止まって考えてみました。
もともとバージョン管理をしたいのはプログラムだけにとどまりません。プログラムの場合、開発-デバッグといった作業に意味づけしやすいことやIDEを使う事などもあって、バージョン管理システムを使う様子を想像しやすくはあります。しかし、一方でWordやPowerPoint、CADなどの文書系ソフトウェアについてもバージョン管理をしたいという動機が強くあります。
考えれば考えるほど、通常のファイルシステムにバージョン管理を導入するのは合理的です。それほど合理的で厳密なブランチ管理をしなくても、ざっくりしたコメントを残しながらバックアップを取るものでかまわないのです。そう、これはバックアップソフトでもかまいません。しかし、バックアップは通常決められた周期で日付だけをタグとして自動で行います。バージョン管理は手元でさっとコメントを残して意味のあるコミットをとれることが利点です。
そこで調べてみたのですが、どうやらGitはサーバーを立てなくてもリモート・ファイルシステムにリポジトリを置くだけで運用することができるようです。
これは画期的なことです。現在ではUbuntu OneやDoropBoxといったギガバイト単位で使用できる無料ファイルシステムがいくつもあります。こういったリモート・ファイル・システムにリモート・リポジトリを置いておき、手元のコンピュータにそのクローンを作れば、高速でしかも場所を選ばないバージョン管理が可能になります。
WindowsにはTortoiseGitという、Explorerと一体化可能なGitがあります。これは日本語のファイル名さえ避ければいいので便利に使えそうです。