応用情報技術者 2021年 秋期 午前2 問18
問題文
分散開発環境において、各開発者のローカル環境に全履歴を含んだ中央リポジトリの完全な複製をもつことによって、中央リポジトリにアクセスできないときでも履歴の調査や変更の記録を可能にする、バージョン管理ツールはどれか。
選択肢
ア:Apache Subversion
イ:CVS
ウ:Git(正解)
エ:RCS
分散開発環境におけるバージョン管理ツールの特徴【午前2 解説】
要点まとめ
- 結論:分散型バージョン管理ツールはローカルに全履歴を持ち、中央リポジトリ不通時も作業可能であり、正解はウ: Gitです。
- 根拠:Gitは分散型で各開発者が完全なリポジトリを持つため、履歴の閲覧やコミットがローカルで可能です。
- 差がつくポイント:SubversionやCVSは集中型で中央リポジトリ依存、RCSは単一ファイル管理で分散型ではありません。
正解の理由
Gitは分散型バージョン管理システム(DVCS)であり、各開発者のローカル環境にリポジトリの完全なコピーを保持します。これにより、中央リポジトリが利用できない場合でも、履歴の調査や変更の記録が可能です。SubversionやCVSは集中型で中央リポジトリに依存し、RCSは単一ファイルの管理に特化しているため、分散開発環境には適しません。
よくある誤解
SubversionやCVSもバージョン管理ツールですが、中央リポジトリが必須であり、オフラインでの履歴操作はできません。RCSは分散型ではなく、単一ファイルの履歴管理に限定されます。
解法ステップ
- 問題文の「分散開発環境」「ローカルに全履歴を持つ」を確認する。
- 選択肢の特徴を整理し、分散型か集中型かを判別する。
- Gitが分散型であることを知っているか確認する。
- 中央リポジトリ不通時の作業可否で絞り込む。
- ウ: Gitを正解とする。
選択肢別の誤答解説
- ア: Apache Subversion
集中型で中央リポジトリ依存。ローカルに全履歴は持たず、オフライン作業が制限される。 - イ: CVS
Subversion同様、集中型であり分散型ではないため、中央リポジトリが必要。 - ウ: Git
分散型でローカルに完全な履歴を持ち、中央リポジトリ不通時も作業可能。 - エ: RCS
単一ファイルの履歴管理ツールであり、分散型ではない。複数ファイルの管理や分散開発には不向き。
補足コラム
Gitは2005年にLinuxカーネル開発のために作られた分散型バージョン管理システムで、オフラインでのコミットや履歴閲覧が可能です。SubversionやCVSは集中型で、中央サーバーがダウンすると作業が制限されます。RCSは古典的なツールで、現在はほとんど使われていません。
FAQ
Q: 分散型バージョン管理システムのメリットは何ですか?
A: 各開発者が完全な履歴を持つため、ネットワーク障害時でも作業が継続でき、履歴の調査や変更が可能です。
A: 各開発者が完全な履歴を持つため、ネットワーク障害時でも作業が継続でき、履歴の調査や変更が可能です。
Q: SubversionとGitの大きな違いは何ですか?
A: Subversionは集中型で中央リポジトリ依存、Gitは分散型でローカルに完全なリポジトリを持つ点が大きな違いです。
A: Subversionは集中型で中央リポジトリ依存、Gitは分散型でローカルに完全なリポジトリを持つ点が大きな違いです。
関連キーワード: 分散型バージョン管理、Git, バージョン管理ツール、分散開発、ローカルリポジトリ

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

