Version Control definition
- Version control (also known as revision control or source control) is a category of processes and tools designed to keep track of multiple different versions of software, content, documents, websites and other information in development.
- Any system that provides change tracking and control over programming source code and documentation can be considered version control software.
- The practice has been a part of creative processes almost as long as writing has existed.
Version Control purpose
- The purpose of version control is ensuring that content changes under development go as planned.
- While version control is often carried out by a separate application, it can also be embedded into programs such as integrated development environments (IDEs), word processors, spreadsheets and, especially, collaborative web documents and pages.
- Version control allows servers in multiple locations to run different versions on different sites, even while those versions are being updated simultaneously.
Version Control practice
- The most powerful and complex version control systems are used in software development.
- Version control often operates by locking files and using a check-out / check-in system for changed versions.
- Versions may be identified by labels or tags; approved versions or those that are especially significant may be designated baselines.
- Checked-out versions may be worked on by different groups or individuals as branching code from the main trunk.
- When versions are checked out and checked in, the first to check in is sure to succeed.
- If other versions are checked out, some systems may provide for version merging to allow further changes to be added into the central repository.
- Version control is generally based on a client-server model.
- Another method is distributed version control, in which all copies are in a codebase repository and changes are synchronized through patches or changes shared from peer to peer.
Version Control synonyms
- The terms version control and versioning are sometimes used interchangeably even though their technical meanings are different.
- Synonyms of the original program in source control from which branches are taken :
- Trunk
- Master
- Mainline
Version Control, branching and Merging and Standards
More informations for the Scrum PSD certification here.