Version control, also known as revision control, is a way of keeping track of the changes we make to software and documents and to manage multiple versions of files. Version control systems are powerful tools that offer a way to partly automate this process that is a lot more powerful and flexible than managing versions manually. As well as improving our own workflow, version control systems make 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.
This virtual tutorial is the first of two parts, and gives a basic introduction to version control. It will explain why you may want to use a version control system and equips you with an understanding of the common concepts and terminology underlying many version control systems including CVS, SVN, Git, and Mercurial.