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

Git Reference

No Git internals (packfiles, reflog recovery), no monorepo tooling (git-subtree at scale)