Introduction to Version Control

Version control, also known as revision control, is a way to keep track of the changes we make to software and to documents that is a lot more flexible and sophisticated than, for example, working with multiple copies of the same file. As well as improving our own workflow version control makes it a lot easier to collaborate with others on a set of files. This is done via shared repositories and allows us to manage and integrate conflicts between versions produced by different people.

Several models of version control as well as tools implementing these models exist, including CVS, SVN, Git, Mercurial, and others. This virtual tutorial gives a general introduction to version control that will help you understand the most important characteristics of these models, and illustrates these characteristics through a practical demonstration using SVN - a common version control tool - as well as (to a lesser extent) Git.

After this tutorial you should feel confident to start using basic version control in your work and will be better equipped to decide which tool to use.