【Subversionとは】
Subversionとは、「集中型バージョン管理システム」のこと。
昔からあるバージョン管理システムのCVSを使い易くしたのがSubversion。
全員で1つのリポジトリを共有して随時ここにコミットして格納していく。その為、ローカルリポジトリはない。
整合性が保たれていないとコミットしてはいけないというルールがある。
【特徴】
・複数のエンジニアがアクセス可能
Subversionは複数のエンジニアがアクセスできる構成を採用することで、より効率よくコード管理や開発が行える仕様になっている。
直接的にコード管理を行えるため複数のエンジニアで管理する際には利用しやすいのが特徴。
しかし複数でアクセスできることによるデメリットも存在するので注意は必要になる。
・より多くの機能が搭載されている
Subversionには複数のエンジニアで開発するにあたり、より利便性を高めるための機能がたくさん搭載されている。
例えば、他のエンジニアがリポジトリからデータの引出しや保存を行っている際に、自分のデータは他の自分用のディレクトリに保存されるなど競合しても勝手に上書きされない特徴も持ち合わせている。
【subversionの基本コマンド】
・リポジトリの複製:checkout
・コミット(リモートへの反映):commit
・コミット内容の確認:cat
・ファイルの変更の取消:revert checkout
・ブランチの作成:copy
・ブランチの切り替え:switch
SVNではローカルリポジトリ/リモートリポジトリという概念がないためコミットすると即座にリモートに反映される。
(補足)
-
バージョン管理システム:ソースコードなどの変更履歴を管理してくれるシステムのこと。
-
バージョン管理システムの種類
・分散型:リモートリポジトリだけでなく、ローカルマシンのローカルリポジトリにもバージョンを保存できる。
メリットは、ブランチを活用できる。オンラインオフライン問わず複数人が並行して作業できる。
デメリットは、マージ作業にコストがかかる。
例)Git、Mercurial
・集中型:バージョンがリモートリポジトリに保存される。
メリットは、導入コストの低さ。
デメリットは、ローカルにコミットできないため、影響範囲が広い。
例)「Subversion」、「CVS」
- 整合性:物事に矛盾がなく、整っているという意味。