音声スライド (クリックで展開/閉じる)
はじめに
- この単元で学ぶこと:ファイル管理が壊れる理由
- この単元で学ぶこと:バージョン管理システムの役割
- 目標:集中型と分散型の違いを説明できるようになる
この単元では、ファイルを日付付きでコピーして保存する運用が抱える問題と、それを解決するバージョン管理システムの役割を学びます。あわせて、集中型と分散型という二つの方式の違いも理解します。
コピー保存という運用
- よくある運用:日付や版数をファイル名に追記して保存
- 例:「report_v1.docx」「report_v2_final.docx」
- 編集のたびにファイルが増え、管理が乱雑になる
多くの人がまず行うファイル管理は、編集するたびにファイル名を変えてコピーを残す方法です。日付や「初版」「最終版」のような呼び方を付けて保存しますが、この方法には後で見る問題があります。
運用が破綻する場面
- 変更理由が分からなくなる
- どれが最新版か分からなくなる
- 複数人が同時に編集して上書きしてしまう
この運用は主に三つの点で破綻します。まず、なぜ変更したのかという理由が残らないこと。次に、ファイルが増えるほどどれが最新版か分からなくなること。そして、複数人が同時に編集すると、片方の変更が上書きされて消えてしまうことです。
上書き事故が起きる仕組み

二人が同じファイルを同時に編集すると、後から保存した人の内容がもう一人の変更を上書きしてしまいます。コピーによる管理では、この事故を防ぐ仕組みがありません。
バージョン管理システムとは
- ファイルの変更履歴を記録するシステム
- いつ・誰が・何を・なぜ変更したかを残す
- 過去の状態への復元や、複数人の変更の統合ができる
バージョン管理システムとは、ファイルの変更履歴を記録し管理する仕組みです。いつ・誰が・何を・なぜ変更したかを記録し、過去の状態に戻したり、複数人の変更を一つにまとめたりできます。
記録される四つの要素
| 要素 | 内容 |
|---|---|
| いつ | 変更が行われた日時 |
| 誰が | 変更した人物 |
| 何を | 変更されたファイルの内容 |
| なぜ | 変更した理由やメッセージ |
バージョン管理システムは、変更のたびに四つの情報を記録します。いつ変更されたか、誰が変更したか、何が変更されたか、そしてなぜ変更したのかという理由です。この四つが揃うことで、後から履歴を追えるようになります。
できること:復元と統合
- 過去の任意の時点の状態に戻せる(復元)
- 複数人の変更を一つにまとめられる(統合)
- これにより上書き事故や版の混乱を防げる
バージョン管理システムでできることは大きく二つあります。一つは、過去の任意の時点の状態に復元できることです。もう一つは、複数人が別々に加えた変更を一つに統合できることです。これにより、上書き事故や版の混乱を防げます。
集中型と分散型
- 集中型:履歴を持つのはサーバのみ
- 分散型:各利用者の手元にも全履歴の複製がある
- 分散型はオフラインでも履歴参照やコミットができる
バージョン管理システムには集中型と分散型という二つの方式があります。集中型は履歴をサーバだけが持ちますが、分散型は各利用者の手元にも全履歴の複製が置かれます。そのため分散型では、オフラインでも履歴の参照や記録ができます。
集中型と分散型の図

集中型では履歴を持つサーバーに全員が接続します。分散型では、サーバーだけでなく各利用者の手元にも全履歴の複製があり、対等な関係になっています。
まとめ
- 日付付きコピーは理由不明・最新版不明を招く
- さらに複数人での上書き事故も起こる
- バージョン管理システムは四つの情報を記録する
- いつ・誰が・何を・なぜ、が記録される
- 復元と統合により、これらの問題を解決できる
- 集中型はサーバのみ、分散型は各利用者にも履歴を持つ
この単元では、日付付きのコピー保存が理由不明・最新版不明・上書き事故という形で破綻することを学びました。バージョン管理システムはいつ・誰が・何を・なぜを記録し、復元と統合によってこれらの問題を解決します。そして、履歴をサーバだけが持つ集中型と、各利用者の手元にも履歴を持つ分散型という二つの方式があることを確認しました。