Overview

This site is was created to help people to understand distributed version control systems (DVCS) and their use. I am using Git as it has become the de facto standard for DVCS. DVCS are not only a better form of revision control, but a different approach. This means that you need to think differently about the changes you are making when using a DVCS than you would with a revision control tool. As a result this site focuses on the concepts that are important while using a DVCS. Yes I do go through the commands, but my intent is to introduce you to the ideas that will make working with a DVCS tool convenient. When I first started to look at DVCS, I was using a tool called Mercurial. It is similar to Git, thought there are differences. I muddled around in Mercurial for a while until I found Joel Spolsky’s tutorial http://hginit.com. It is an excellent tutorial on using DVCS that uses Mercurial commands (all of which start with hg, the elemental symbol for mercury). So when my office decided to move to Git I thought I would just find the Git version of his site and share that link. I was not able to find such a site. Don’t misunderstand me, there are many excellent Git tutorial’s on the web. They all address the concepts associated with DVCS to a greater or lesser extent. In fact I have some of them listed at the end of this tutorial. Still most are quite extensive (40+ pages). I wanted something that would help people starting thinking about changes in the right way quickly.

Let’s get started understanding distributed version control with Git.

Before the Beginning