29.1.1.1 問題の背景を理解する
バージョンコントロールシステムは、3つの重要な能力を提供します。
- Reversibility(可逆性): ある変更が間違い、または間違えた考えにもとづくものだと気づいたときに、前の状態に戻す能力です。
- Concurrency(並列性): 多くの人が同じファイルコレクションを変更するとき、変更の衝突を検知して解決する能力です。
- History(履歴):
それを変更した背後の意図を説明するコメントなど、履歴データをデータに付す能力です。1人で作業するプログラマーでさえ、変更履歴は記憶を助けるのに重要です。複数人のプロジェクトでは、開発者間のコミュニケーション形式として、とても重要です。