This document provides an overview of version control systems and introduces Git and GitHub. It discusses the benefits of version control systems for managing files and tracking changes over time. It contrasts traditional client-server version control systems with distributed systems like Git, noting key advantages of distributed systems. The document then introduces Git and GitHub, explaining Git's flexible workflows and repository structure. It provides examples of typical commands and workflows when using Git and GitHub together.