Version Control

Version control is used to manage multiple versions of computer files and programs. A version control system, or VCS, provides two primary data management capabilities. It allows users to 1) lock files so they can only be edited by one person at a time, and 2) track changes to files.

If you are the only person editing a document, there is no need to lock a file for editing. However, if a team of developers is working on a project, it is important that no two people are editing the same file at the same time. When this happens, it is possible for one person to accidentally overwrite the changes made by someone else. For this reason, version control allows users to "check out" files for editing. When a file has been checked out from a shared file server, it cannot be edited by other users. When the person finishes editing the file, he can save the changes and "check in" the file so that other users can edit the file.

Version control also allows users to track changes to files. This type of version control is often used in software development and is also known as "source control" or "revision control." Popular version control systems like Subversion and CVS allow developers to save incremental versions of programs and source code files during the development process. This provides the capability to rollback to an earlier version of the program if necessary. For example, if bugs are found in a new version of a software program, the developer can review the previous version when debugging the code.

Version control software requires that all files are saved in a central location. This location is called the repository and contains all previous and current versions of files managed by the VCS. Whenever a new file is created or a current file is updated, the changes are "committed" to the repository, so the latest version is available to all users.

Updated August 18, 2011

Definitions by TechTerms.com

The definition of Version Control on this page is an original TechTerms.com definition. If you would like to reference this page or cite this definition, you can use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about the Version Control definition or would like to suggest a new technical term, please contact us.

Want to learn more tech terms? Subscribe to the daily or weekly newsletter and get featured terms and quizzes delivered to your inbox.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.