「Git」はLinuxカーネルソースの管理などに使われている分散バージョン管理システムだ。多くのオープンソースソフトの開発に利用されている。ローカルにも変更履歴を管理しているため、効率の良い共同開発が可能だ。

 バージョン管理システムは、複数の開発者でプログラムを作成する場合などに、ソースコード群の変更履歴を管理するソフトウエアだ。商用やフリーを問わず様々なソフトウエアの開発に使われている。

 Linuxディストリビューションの中核となる「Linuxカーネル」の開発には、かつて「BitKeeper」と呼ばれる商用のバージョン管理システムが使われていた。このBitKeeperが無償で利用できなくなり、Linuxの生みの親であるLinus Torvalds氏によってその代わりとなる「Git」が開発された。現在、そのメンテナンスは濱野 純氏が担当している。

 Gitは、分散型のバージョン管理システムだ。分散型はサーバーだけにプログラム本体や更新履歴を保存する「リポジトリー」(Gitリポジトリー)を配置するのではなく、クライアント側にも複製を置く(図1)。これによって変更されたファイルなどの履歴をまとめてからサーバーに送信すればよく、パフォーマンスの向上やオフラインによる作業が可能になる。また、サーバー側のリポジトリーが壊れても、クライアント側に複製があるために障害にも強い。

図1●分散型のバージョン管理システム
図1●分散型のバージョン管理システム
クライアント側でもリポジトリーを管理する。
[画像のクリックで拡大表示]

 ちなみにBitKeeperも分散型のバージョン管理システムだ。分散とは逆の集中型のバージョン管理システムには「Subversion」などがある。