Version control system (VCS) is software to facilitate work with the changing information. The version control allows you to store multiple versions of the same document, if necessary, go back to earlier versions, determine when and who made the changes, what in particular it was, and much more.
Such systems, also known as source control or revision control, are most widely used in software development to store the source code of the program.
Traditional version control systems use a centralized model when there is a single document store, managed by a special server, which performs most of the versioning functions.
The user working with documents must first obtain the version of the document he or she needs from the repository. After the necessary changes have been made to the document, the new version is placed in the repository. Unlike simple file saving, the previous version is not erased, but also remains in the repository and can be retrieved any time.
The most popular VCS are TFS Version Control, Git, Subversion.
Many version control systems provide a number of additional options:
A common terminology does not exist, different VCS can use different names for the same actions. Below are some of the most commonly used options.
Amend - Make changes without creating a new version
Blame - Understand who made the change.
Conflict - a situation where several users have made changes to the same section of the document. Conflict is detected when one user captures the changes, and the second tries to fix them and the system itself can not correctly merge the conflicting changes. Since the program is not reasonable enough to determine which change is "correct", the second user needs to resolve the conflict himself.
Head - the latest version for the branch, located in the repository.
Tag, label - a symbolic name for a group of documents, which can be assigned to a specific version of the document. It describes not only the set of names, but also the version of each file. Document versions included in the tag can belong to different points in time.
Working copy - a local copy of documents.