Git

As stated on the project’s official website git-scm.com,

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Great so this means that here we have a tool that we can use free of charge (even better, we can look at and modify the source code) which allows us to version our projects. Versioning in turn means that we can keep a history of changes made to the project in question. Additionally it is distributed which for practical purposes means that me keeping a history does not depend on the benevolence (or even existence) of some remote server. The following tutorial is intended to

  1. Convince you of Git’s superiority

  2. Teach you to use Git locally to version changes on a local project

  3. Teach you to use Git to collaborate with others on remote projects

We hope that at the end of the day (or at least after the first time Git has saved you from losing your progress) you will accept that it is the best and only way to version anything from your diary to your future company’s software.

XKCD about Git