This document discusses version control systems including their history and types. It describes local version control systems which allow individual developers to track changes to files over time. Centralized version control systems were developed to allow groups to work together, with a central server storing all code revisions. However, if the server fails no work can be saved. Distributed version control systems like Git allow each client to fully mirror the repository, so if the server fails code changes can still be backed up. The document gives a short history of Git and its initial usage by two developers working on a shared project. It covers topics that will be discussed in more depth in later lectures, like Git installation and basics.