Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Git | バージョン管理ツールの比較

概要

バージョン管理ツールの比較

詳細

手動

日付やバージョン番号を付与したディレクトリを手動で管理する手法。
コピペミス、作成し忘れ、間違って削除など様々なリスクを抱える非効率な管理手法。
しかし、現実にまだこの手法に頼るシステム開発現場が少なからずあることを知っています。
バージョン管理ツールの導入を提案したら断られました。
そして誰も明文化していない暗黙のルールを破ると怒られるという罰ゲーム付き。

ローカルバージョン管理

ローカルPCに履歴を持つ方式のツール

集中バージョン管理

チームでの共有機能が必要になったため作成された方式。
CSVSVN、VSSなどが有名。
後述する分散バージョン管理ツールが登場するまでは最もポピュラーだった。
現在でも多くの現場で活用されている。

中央サーバーで履歴を管理し、クライアントはそのスナップショットをコピーして利用する。

中央サーバーにトラブルが発生すると、作業が滞ること。
中央サーバーのバックアップが適切ではなかった場合などに、データが破損すると
各クライアントが保持している範囲の復元しかできないことが欠点。

分散バージョン管理

集中バージョン管理ツールの欠点を補うように作成されている。
その名の通り、中央サーバーに依存せず複数リポジトリを持つことができる。

各クライアントがリポジトリ全体をミラーリングするため、
サーバー停止時も作業を継続でき、
サーバートラブル時も任意のクライアントからデータを復元できます。