This document provides an overview of version control systems and specifically focuses on centralized version control using Subversion and decentralized version control using Git. It discusses the benefits of version control for backup, synchronization, selective undo, and tracking changes. It then covers the key concepts and workflows for Subversion including checkout, updating, making changes, resolving conflicts, and committing changes. For Git, it discusses the decentralized model and covers similar workflows for updating, making changes, resolving conflicts, and committing changes. It also discusses branching and merging in both systems.