Software versioning model
In the software versioning model, multiple versions are maintained at the same time. The content in each version is updated without interfering with updates in other versions.
Each release of a product is maintained in its own branch. Content specific to that release exists in the branch for that release. Shared content exists in all the branches for the product.