MIFES 9は旧バージョンです。最新版の「MIFES」をご検討ください。
テキストエディタ MIFES シリーズ紹介ページはこちら
コンピューターの世界では、ある時点の状態をそのままもう一つ残しておくことを「バックアップ」といいます。
バージョン管理システムは「バックアップ」をシステム化し、「プロジェクト」で扱うファイルをまとめて管理するためのシステムです。
パソコンで情報を扱うあらゆる「プロジェクト」において、日々更新されるファイルの管理は大きな命題です。
といった経験をした人も多いはず。
バージョン管理システムは、ファイルごとの修正履歴と、一緒に修正したファイル群のリビジョンを管理できるので、
などが行えます。
プログラムソースの管理を目的に誕生したシステムのため、これまでは主にソフトウェアの開発プロジェクトに利用されてきましたが、プログラムソースしか管理できないというものではありません。
バージョン管理システムは、論文や書籍などの原稿管理や、個人的なファイル管理にも利用できます。
バージョン と リビジョン(Version/Revision)
バージョンは「版」、リビジョンは「修正」「改訂」という意味があります。
日々行うのは「修正」や「改訂」の作業なので、このページでも「リビジョン」という言葉を使っています。
バージョン管理システムは、データーベースシステムの一種で、多くのシステムでこのデータベースを リポジトリ とよびます。
リポジトリには、管理下のファイルごとに作成日時、変更日時、変更点、変更を行ったユーザー名などが記録されます。
記録した内容は、リポジトリの対象ユーザーならだれでも参照することができるため、他のユーザーが修正した過去のリビジョンを入手したり参照したりできるため、最新リビジョンと比較してどこが変更されているのか、いつ変更されたのかを見つけることができるのです。
では、具体的にユーザーはどのように日常の編集作業をおこなうのでしょうか。Subversionを例に見てみましょう。
1: 【更新】 編集したいファイルの最新リビジョンを入手する
ユーザーは、バージョン管理されているファイルを編集する前に、そのファイルの最新のリビジョンを「作業フォルダー」に入手します。
Subversionではこの操作を【更新】と言います。
【更新】を実行すると、Subversionは「作業フォルダー」の対象ファイルと「リポジトリ」の対象ファイルの最終更新時間を比較し、「リポジトリ」内のファイルの方が新しいときは、「リポジトリ」にある最新版を「作業フォルダー」に上書きコピーします。
このとき、他のユーザーが編集をしないように、「ロック」することができます。ただし、長時間作業を行うときは、他の人の作業を止めてしまう場合があるので、要注意です。
2: 編集作業
ユーザーは「作業フォルダー」に取り込んだ最新状態のファイルを、テキストエディタなどを使って編集し、上書き保存します。
3: 【コミット】 編集したファイルを「リポジトリ」に登録する
ユーザーは、編集が完了したら「作業フォルダー」内の最新ファイルを「リポジトリ」に登録します。
Subversionでは、この操作を【コミット】と言います。
【コミット】を実行すると、Subversionは「作業フォルダー」の対象ファイルを最新リビジョンとして、「いつ」「だれが」コミットしたかなどの情報と一緒に、「リポジトリ」に登録します。
【更新】時に「ロック」したときは、「アンロック」(ロックの解除)も忘れずにしておきます。
以上が、日常的に行うバージョン管理システムでの編集作業です。
※バージョン管理システムにより機能名称が異なる場合があります。 例)更新→チェックアウト/コミット→チェックイン など
主なバージョン管理システムは以下のとおりですが、このほかにも多くのシステムがあります。
多くのバージョン管理システムは、オープンソースプロジェクトなどの開発時に、そのソースファイルを管理するために開発されたものです。
「集中型」 と 「分散型」
バージョン管理システムには、リポジトリ(リビジョン情報を記録するデータベース)の持ち方により、「集中型」と「分散型」の2つのタイプがあります。
●次のページでは、SubversionとMIFES 9でバージョン管理をご利用いただくための設定方法などをご案内しています。 【準備編】へ