Reading this book

First generation tools are mostly history at this point, so I won’t be discussing them much.

I will cover the basics of version control with second generation tools in Part I, “Centralized Version Control”.

I will spend most of my pages talking about DVCS, the third generation tools. In Part II, “Distributed Version Control”, I will cover the same basics as before, but from a DVCS perspective. I also include some pros and cons for people who are making decisions about centralized vs. decentralized VCS solutions.

Note that the following four chapters are all very similar.

These chapters walk through the same fictitious scenario using detailed examples, each with a different open source version control tool. Feel free to read the chapters corresponding to the tools that interest you most. Alternatively, you may want to read all four so that you can see how the various tools compare.

Finally, in Part III, “Beyond Basics”, I will go a bit deeper. Learning about version control happens in two phases. In the first phase, the basics, we talk about “what”.

As we go deeper, we talk more about “how”.

Be advised that this book is written primarily for the command-line user. Topics like graphical user interfaces and integrated development environments are not covered here in this first edition. I did all the examples on a Mac, but all four of the version control tools covered in this book work well on Windows and Linux systems also.

The home page for this book is http://www.ericsink.com/vcbe