Version Control Systems
This article is a concept explanation about version control systems – including exam questions, core components and tags.
In a Nutshell
A version control system stores every change traceably, enables parallel work with branches and ensures traceability, recoverability and collaboration.
Compact Technical Description
- DVCS (Git): complete history available locally
- Centralized (Subversion): history primarily on server
Core operations:
- Commit (atomic change)
- Branch (parallel development)
- Merge or Rebase (integration)
- Tag (mark release)
Team governance:
- Pull Requests + Reviews
- Branch protection + Status checks (CI)
- signed commits
Traceability: Ticket references in commits/PRs + releases via tags/notes.
Exam-Relevant Key Points
- Explain Git vs. SVN
- Commit contains metadata + hash
- Merge vs Rebase (history)
- Conflict resolution (3-way merge + tests)
- PRs/Reviews for quality/compliance
- Releases: Tags + Semver
- Security: permissions, signatures, audit trails
Core Components
- Repository (local/remote)
- Working Tree + Staging Area
- Commits
- Branches
- Merge
- Rebase
- Tags
- Access control
- Hooks/Automation
- CI/CD Integration
Practical Example (Workflow)
1) create feature-branch
2) commit (small, traceable)
3) rebase on main, resolve conflicts
4) Pull Request + Review + CI green
5) Merge
6) Release tag (e.g. v1.4.0) + Release Notes
Advantages and Disadvantages
Advantages
- Traceability and recovery
- parallel development
- quality through reviews + CI
Disadvantages
- Learning curve (conflicts/rebase)
- Governance effort (policies)
Typical Exam Questions (with Short Answers)
- Merge vs Rebase? Merge preserves branched history, Rebase rewrites branch linearly.
- What are tags for? Mark releases reproducibly.
- Why Pull Requests? Four-eyes principle + checks.
- How to link code to requirements? Ticket ID in commits/PRs + Release Notes.