応用情報技術者 2024年 秋期 午前2 問19
問題文
分散開発環境において、各開発者のローカル環境に全履歴を含んだ中央リポジトリの完全な複製をもつことによって、中央リポジトリにアクセスできないときでも履歴の調査や変更の記録を可能にする、バージョン管理ツールはどれか。
選択肢
ア: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は歴史的に広く使われてきましたが、分散開発のニーズに応えきれずGitに置き換わる傾向にあります。RCSは最も古いツールの一つで、現在はほとんど使われていません。
FAQ
Q: Gitはなぜ中央リポジトリがなくても作業できるのですか?
A: Gitは各ローカルに完全なリポジトリを複製し、履歴や変更情報を保持するため、中央サーバーなしでも履歴閲覧やコミットが可能です。
A: Gitは各ローカルに完全なリポジトリを複製し、履歴や変更情報を保持するため、中央サーバーなしでも履歴閲覧やコミットが可能です。
Q: SubversionとGitの最大の違いは何ですか?
A: Subversionは中央集権型で中央リポジトリ依存、Gitは分散型でローカルに完全なリポジトリを持つ点が最大の違いです。
A: Subversionは中央集権型で中央リポジトリ依存、Gitは分散型でローカルに完全なリポジトリを持つ点が最大の違いです。
関連キーワード: 分散型バージョン管理、Git, Subversion, CVS, RCS, バージョン管理ツール、分散開発

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

