Source Control
Source control is technologies that manage development of software code by tracking and merging or rejecting changes from multiple authors.
- overall process of managing code for a software development project
Version control
Within the overall process of source control, version control is an ID system for each iteration of a software product or automation script.
- version control numbers represent both:
- the version
- as made known to the customer or end user
- internal build numbers
- for use in the development process
- the version
- supports the change management process for software development projects
Central Repository
Software development environments use a repository server to maintain source code.
- e.g., Global Information Tracker (Git)
- When a developer commits new or changed code to the repository,
- the new source code is tagged with an updated version number
- and the old version archived
- allows changes to be rolled back if a problem is discovered
Branching
- As scripts are developed and updated,
- will be times when new features or changed functionality needs to be created and tested
- To facilitate this,
- changes can be made in a branch copy of source code
- stored separately to the main or production version
- When the branch code is ready,
- developer issues a pull request
- and it is tested and validated for merging back into the main branch
- changes can be made in a branch copy of source code
Conflict Identification
- can be instances where two (or more) competing changes to code need to be integrated back into the main branch
- conflict identification highlights these clashes and provides developers with tools to resolve them