New Cohort Starts:

Donate
← Back to the skill map
Systems & Tooling/Systems & practice

Version Control

13 micro-topics in Systems & Tooling, each with the evidence that proves you have it and the written reason behind every link. Before you start, it rests on 2 other domains. Downstream, it holds up 5 domains.

13 topics  ·  depth 2–6 of 16  ·  12 internal links  ·  2 in  ·  6 out

Before you start

Load-bearing links first. Each one says what in this domain rests on what outside it, and why.

Filesystem

1 link

load-bearing

Shell Configuration

1 link

supporting

Configure Git and ignore rules rests on Write aliases and shell functions

Git aliases are the same idea as shell aliases.

What you will be able to do

In prerequisite order. Each idea names the artifact that closes it, the market demand that put it on the map, and what it stands on.

Depth 2  ·  conceptual  ·  unassisted  ·  M03 §3.1

Explain Git's object and reference model

Knows working directory, staging, commits, HEAD and refs

Evidence
Predicts what a command will do to history before running it
Market anchor
Git · version control
Rests on
load-bearing

Navigate the filesystem from the command line · Filesystem

Git's working directory is a filesystem.

Depth 3  ·  procedural  ·  unassisted  ·  M03 §3.2

Stage and commit changes

Uses add, add -p and writes atomic messages

Evidence
Produces a readable history of small commits
Market anchor
Git
Rests on
load-bearing

Explain Git's object and reference model

Staging and committing only make sense against the object model.

Depth 3  ·  procedural  ·  unassisted  ·  M03 §3.3

Branch for parallel work

Creates and switches branches with a naming convention

Evidence
Runs a feature branch end to end
Market anchor
Git
Rests on
load-bearing

Explain Git's object and reference model

A branch is a reference, which is part of the object model.

Depth 4  ·  procedural  ·  unassisted  ·  M03 §3.2

Read and search history

Navigates log, diff and status

Evidence
Finds when and why a line changed
Market anchor
Git
Rests on
load-bearing

Stage and commit changes

History is the record of commits you made.

Depth 4  ·  conceptual  ·  unassisted  ·  M03 §3.4

Merge branches

Understands fast-forward and three-way merges

Evidence
Integrates a branch and explains the resulting history
Market anchor
Git
Rests on
load-bearing

Branch for parallel work

Merging integrates branches.

Depth 4  ·  procedural  ·  unassisted  ·  M03 §3.5

Manage remotes

Works with origin and upstream across forks

Evidence
Keeps a fork current with upstream
Market anchor
Git · GitHub
Rests on
load-bearing

Branch for parallel work

Remotes track branches on another machine.

Depth 4  ·  procedural  ·  unassisted  ·  M03 §3.7

Configure Git and ignore rules

Sets identity, aliases, .gitignore and .gitattributes

Evidence
Keeps generated files out of a repo permanently
Market anchor
Git
Rests on
load-bearing

Stage and commit changes

Ignore rules matter once you are choosing what to stage.

supporting

Write aliases and shell functions · Shell Configuration

Git aliases are the same idea as shell aliases.

Depth 5  ·  conceptual  ·  unassisted  ·  M03 §3.2

Undo work safely

Chooses between restore, reset and revert

Evidence
Recovers from a bad commit without losing work
Market anchor
Git
Rests on
load-bearing

Read and search history

Undoing requires reading what you are undoing.

Depth 5  ·  procedural  ·  scaffolded  ·  M03 §3.4

Rebase and rewrite history

Applies rebase and interactive rebase deliberately

Evidence
Cleans a messy branch before review
Market anchor
Git
Rests on
load-bearing

Merge branches

Rebasing is the alternative to a merge you already understand.

Depth 5  ·  procedural  ·  unassisted  ·  M03 §3.4

Resolve merge conflicts

Reads conflict markers and picks the right resolution

Evidence
Resolves a real conflict and explains the choice
Market anchor
Git
Rests on
load-bearing

Merge branches

Conflicts arise from integration.

Depth 5  ·  meta  ·  unassisted  ·  M03 §3.5

Open and review pull requests

Writes reviewable PRs and gives useful feedback

Evidence
Merges a PR after addressing review comments
Market anchor
GitHub · code review
Rests on
load-bearing

Manage remotes

A pull request proposes merging a pushed branch.

Depth 5  ·  procedural  ·  guided  ·  M03 §3.6

Find a regression with bisect

Binary-searches history for the breaking commit

Evidence
Identifies the commit that introduced a bug
Market anchor
Git · debugging
Rests on
load-bearing

Read and search history

Bisecting searches history.

Depth 6  ·  procedural  ·  scaffolded  ·  M03 §3.6

Recover with stash, cherry-pick and reflog

Rescues work from awkward states

Evidence
Restores a commit that appeared lost
Market anchor
Git
Rests on
load-bearing

Undo work safely

Recovery extends the undo operations to harder cases.

What rests on this domain

Everything downstream that names an idea here as a prerequisite, grouped by where it lives.

Delivery & CI/CD

2 links

load-bearing

Automate workflows with CI rests on Manage remotes

Workflows are triggered by pushes to a remote.

load-bearing

Career

1 link

load-bearing

Code Review

1 link

load-bearing

Prompt Engineering

1 link

load-bearing

Version prompts as templates rests on Stage and commit changes

Versioning prompts requires version control.

Data Modeling

1 link

supporting

Version schema changes with migrations rests on Stage and commit changes

Migrations are versioned artifacts, and versioning habits carry over.

Retool. Retrain. Relaunch.

375 ideas. 17 weeks. No tuition, ever.

Vets Who Code is a veteran-run 501(c)(3). The accelerator is free, remote, and we don’t take a share of your first paycheck.

Free · Remote · 17 weeks · EIN 86-2122804