This document provides an introduction to version control with Git and GitHub. It explains how Git tracks changes to files over time through commits, and how branches allow for separate lines of development. GitHub is introduced as a hosting service for open source projects that uses Git for version control and allows for collaboration through features like pull requests. Basic Git commands are covered like init, add, commit, status, log and checkout. The steps for contributing to a project on GitHub through forking, branching, committing and pushing changes are outlined.