"Version Control by Example"

There are quite a bit of Version Control systems, such as CVS, SVN and the newer ones like Git or Mercurial (The book names 3 generations, talks about 2nd and 3rd.)

When you’re programming alone, you can get away without one, but Version Control is essential for software development by teams. It allows multiple people to work on the same piece of software simultaneously, without conflicting with each other. And did I mentioned ability to see who made which changes and the ability to get every version of code that has ever existed?


Version Control by Example covers 2 types of Version Control software:

  1. Centralized Version Control System, like CVS

  2. Distributed Version Control Systems, like Mercurial, Git and Veracity

At first you are presented with each general command, that exist in both types of VCS, like **commit, diff, revert, **and other basics.

Then for each VCS (CVS, Mercurial, Git and Veracity) the author goes through the same example, but he adapts the example to each VCS to give a better understanding how the same process would be done in different VCS, so along the way you get a pretty good grasp of all 4 VCS.

In Chapter 11 Workflows are explained. He reviews and explains branching and managing multiple releases.

And lastly, he explains best practices. If you’re just getting started with VCS like me, the last 13th chapter will be very useful. Simple tips like “Run diff just before you commit, every time” will save you trouble down the road.

Personal thoughts

If you’re just getting started, this book is a great way to kickstart working with Version Control. It is very easy to follow, answers many questions (at least in my case) and is relatively short and compact.You can get through it in a matter of hours.

Unfortunately I have found this book just a couple of days ago. Because I’ve dived head first into Mercurial and Git I didn’t understand much, but this book explained a lot. Explaining by example is a powerful way to learn, so I really recommend this book if you want to get started with Version Control Systems.

Version Control by Example is a free ebook and is available in HTML and PDF formats. At the time of writing Kindle and printed versions are coming soon.