Version Control , also called Version Control System (VCS ), is a system that records changes to a file or set of files over time.
Version control systems allow people to go back to previous revisions of individual files. Any two revisions can be compared to view the changes between them. In this way, version control keeps a historically accurate and retrievable log of a files' revisions.
While early version control systems might have been purely local, almost all modern systems use some form of distributed storage. It may be a master server (like used by CVS or Subversion) or using a mesh of distributed servers (like Git or Mercurial).
This allows a team of people - even in geographically disparate locations - to work together and collaborate on a development project over the Internet or private network by merging their changes into the same source repository.