Is a system that records changes to a file in order to recall later.
It is used mostly in software industry but you can used with any file.
For example, if you are a graphic designer, you'll want to keep track on every version of an image or layout.
The common approach of copying the file in different directory (timestamped if you are clever) is error prone.
Local Version Control System - VCS
To deals with this problems programmers developed local CVS, a simple database that keeps track of all changes of files.
Centralize Version Control System - CVCS
The next major issue was when people needed to collaborate with developers on other systems. CVCS where developed.
A single server with all version files and many clients to check out files. For many years this was the standard of version control.
But if the server goes down for an hour, nobody can collaborate.
Distributed Version Control System
Clients don't just check out the latest snapsot of a file, they fully mirror the repository, including its full history.
In 2005 Linus Torvald, the creator of Linux, developed the new tool named Git.