Version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information.[1]
- (Version and Release) Explain the difference between a "version" and a "release". What are the requirements and constraints to decide that a specific version is mature enough to be a release? How does a Version Control System support this mechanism.
- (Forking) Explore the concept "forking" in software development[2] and identify different application scenarios in which you would branch the development into different forks (e.g. forks for specific use cases). Explain how version control systems support you in doing this.
- (Merging) Explore the concept merging different "forks" into the main branch of the software development and identify specific use cases in which you would integrate/merge a specialized fork back into the main development branch. Describe examples/use cases like: