Competencies: Software Engineering > Version Control
Version Control
Body of Knowledge
| Topic | Description | Relevance | Career Tracks |
|---|---|---|---|
Git |
Distributed version control system for tracking changes, branching, merging, and collaboration. Essential for all software development workflows. |
High |
All Tracks |
Branching Strategies |
Git Flow, GitHub Flow, trunk-based development, feature branches |
High |
All Engineering |
Git Internals |
Object model, packfiles, reflog, index, tree objects, blob objects |
Medium |
DevOps Engineer, Software Engineer |
Merge Strategies |
Fast-forward, recursive, rebase, squash merging, conflict resolution |
High |
All Engineering |
Git Workflows |
Pull requests, code review, CI integration, protected branches |
High |
All Engineering |
Monorepo Management |
Git submodules, subtrees, sparse checkout, monorepo tools |
Medium |
DevOps Engineer, Platform Engineer |
Git Hooks |
Pre-commit, pre-push, commit-msg hooks, husky, lint-staged |
High |
DevOps Engineer, Software Engineer |
Git History Management |
Interactive rebase, cherry-pick, bisect, blame, history rewriting |
High |
Software Engineer, DevOps Engineer |
GitHub/GitLab Features |
Actions/CI, issues, projects, releases, wikis, code owners |
High |
All Engineering |
Personal Status
| Topic | Level | Evidence | Active Projects | Gaps |
|---|---|---|---|---|
Git |
Advanced |
Daily workflow — feature branches, interactive rebase, cherry-pick, bisect, worktrees, stash, reflog; multi-repo management across 15+ domus repositories; heredoc commits |
No Git internals (packfiles, reflog recovery), no monorepo tooling (git-subtree at scale) |