バージョン管理システム

バージョン管理システムとは

バージョン管理システムとは、データのバージョン管理を行うためのシステムです。
ソースコードなどのデータファイルを、誰が・いつ・どう編集したかを記録することで、ファイルの履歴確認や一括変更・ロールバックなどを効率的に実施することができます。
「版管理システム」とも呼ばれることもあります。

バージョン管理システムの管理方式

バージョン管理システムの管理方式は、「集中管理方式」と「分散管理方式」の大きく2つに分けられます。

集中管理方式

集中管理方式とは、ファイルのバージョン管理を専用のサーバ(リポジトリ)で一元管理する方式です。
サーバ上にリポジトリと呼ばれるバージョン管理専用のフォルダを作成し、ユーザーPCからクライアントソフトウェアを用いてサーバに接続し、システムを利用していきます。
集中管理方式ではサーバ上でファイル情報を一括管理するため、サーバにつながっていない状態ではファイルの変更情報を記録できません。
代表的なソフトウェアとして、「CVS」や「Apache Subversion(SVN)」があります。


分散管理方式

分散管理方式とは、ユーザーがそれぞれPC内にリポジトリのコピーを持つ方式です。
ファイルに変更が発生したら各PC内にあるローカルリポジトリでファイルの変更を記録しておき、作業単位でサーバ上のリモートリポジトリに変更内容を反映させます。
ユーザーがそれぞれ自分のPC内にリポジトリを保持しているため、サーバにつながっていない状態でも作業ができるのが特徴です。
代表的なソフトウェアとして、「Git」や「Mercurial」があります。


バージョン管理システムソフトウェア

Git

Git操作


Git環境構築


Subversion(SVN)


CVS(Concurrent Versions System)


RCS(Rivision Control System)

RCSは、1982年にリリースされた初期のバージョン管理システムです。
RCSではバージョン管理はファイル単位で行い、プロジェクト全体を管理するといった概念はなく、複数のユーザーが同時に作業することも想定していない特徴があります。
そのため、CVSなどの後継ソフトウェアにシェアを取って代わられたものの、デーモンなどが不要で軽量・単純という利点もあることから、現在でも使われる場面があります。