分散型バージョン管理と集中型バージョン管理について
●バージョン管理とは
特定のディレクトリやファイルに対して、更新内容の記録を時系列で管理すること
バージョン管理をすることで、誰が、いつ、どのファイルのどんな内容を更新したかを簡単にわかるようになる
バージョン管理には分散型バージョン管理と集中型バージョン管理がある
●分散型バージョン管理とは
専用のサーバー上にリモートリポジトリを配置し、管理する方法
メンバー全員も自分のマシンにローカルリポジトリを持っている
・分散型バージョン管理のメリット
・インターネットがなくてもローカルリポジトリにコミットできる
・自分のローカルリポジトリでいろいろ試してから、リモートリポジトリへプッシュするので、他のメンバーへの影響が少ない
・アクセス権の設定が不要
※Gitは代表的な分散型バージョン管理システム
※現在は専用のサーバーを構築せず、GitHubのようなリモートリポジトリのホスティングサービスを使用することが多い
●集中型バージョン管理とは
専用のサーバー上にリモートリポジトリを配置し、管理する方法
メンバー全員は自分のマシンにローカルリポジトリを待っていない
メンバー全員が1つのリモートリポジトリを共有で管理を行う
集中型バージョン管理のメリット
メンバーごとにローカルリポジトリを持たないので、シンプルでわかりやすい
集中型のデメリット
・リモートリポジトリはサーバー上に配置された為、インターネットがないとコミットできない
・1つのリモートリポジトリを共有で管理するため、自分のコミットが他のメンバーに影響が強い
・アクセス権の設定が必要
※Subversionは代表的な集中型バージョン管理システム
Git、Subversionの操作方法
分散型Git、集中型SubversionをGUI、CLIどちらでも操作することができる
GUI→グラフィカルユーザーインターフェース
視覚的、直感的で操作が可能のため初心者に優しい
CLI→コマンドラインインターフェース
直感的ではないですが、素早く操作できる