Version Control
A system that records changes to files over time so that specific versions can be recalled later, enabling multiple people to collaborate on code while maintaining a complete history of every change.
Git is by far the most widely used version control system. It enables branching (working on features in isolation), merging (combining changes), and tagging (marking release points). Platforms like GitHub, GitLab, and Bitbucket add collaboration features like pull requests, code review, and CI/CD integration on top of Git.
Key concepts include commits (snapshots of changes), branches (parallel lines of development), merges (combining branches), and tags (named reference points, often used for releases). Understanding version control is essential for QA teams to track which changes are included in a build, reproduce bugs on specific versions, and collaborate with developers on fixes.
Why It Matters for QA Teams
QA teams need version control to identify exactly which code is in a given build, trace when a bug was introduced, and verify that a fix is included in the correct release branch.
Example
A bug is reported in production. The QA engineer uses git bisect to identify that the issue was introduced in commit a3f8b2c three weeks ago during a refactor of the search module. This pinpoints the exact change that caused the regression, allowing the developer to fix it in minutes rather than hours of investigation.