Default saves tracked changes and index; -u adds untracked files; -a adds ignored files. Filled marks show inclusion.

git stash saves work for later

Git stash records selected uncommitted work so a checkout can temporarily return to an earlier committed state. It is useful for a short interruption, but neither saving nor restoring is an unconditional promise about every file in the directory. The important questions are what was included, which base the work came from, what state the destination now has, and when the saved entry can be removed. ...

December 11, 2027 · 6 min · XB Field Notes
Ordinary committing cherry-pick: source S points to parent P, and result R points to target T. The dashed P-to-S patch transfer to R is not an ancestry link; S remains in its source history.

git cherry-pick re-applies a commit

Cherry-pick applies the change introduced by a selected commit to the current line of development. It is useful for a targeted backport when an older release needs one fix without the rest of a development branch. It does not move or delete the source commit, and it does not establish a merge relationship with the source branch. The target result must be reviewed as a change in its own environment. ...

November 25, 2027 · 5 min · XB Field Notes
Excluding /build/ blocks keep.txt even with a negation. Excluding /build/* leaves the parent traversable and lets the child exception work. Tracked files remain tracked.

.gitignore controls untracked paths

Git ignore rules influence which untracked paths ordinary discovery and add operations consider. They are useful for generated files, editor state, and local configuration. They do not create an access-control boundary, remove a file already in the index, or erase earlier commits. Treat the ignore file as a project convention with observable matching rules, not as a guarantee that a sensitive file cannot enter history. ...

November 15, 2027 · 5 min · XB Field Notes
A feature band preserves staged, unstaged and untracked work while a separate hotfix starts at release commit B, reproduces failure, then passes after repair.

Use a worktree for a hotfix without disturbing a feature

A hotfix need not displace unfinished feature work from its directory. A linked worktree can start from a chosen release commit while the original directory retains its staged changes, unstaged edits, and untracked files. The workflow succeeds when the fix is tested on the correct baseline and the original work remains intact. Merely creating a second folder does not establish either result. ...

November 6, 2027 · 6 min · XB Field Notes
Good revision 0 and bad revision 6 bound unknown ancestry candidates. Child-to-parent arrows connect revisions. Retest the candidate and parent; skipped revisions can leave a set.

git bisect narrows the first bad commit

Bisection answers a precise historical question: within selected history, where does a reproducible observation change from good to bad? It does not identify a root cause merely by naming a commit. The search depends on correct endpoint labels and consistent intermediate decisions. Treat the reported boundary as evidence to inspect, then confirm the behavior on both sides and explain the change that accounts for it. ...

October 24, 2027 · 6 min · XB Field Notes
Client and API share a project network; the state-volume branch survives the ordinary down operation that removes the network.

A Compose project combines declarations with external inputs

Docker Compose turns service declarations into containers, networks, and storage attachments managed as a project. The file describes useful relationships: which image runs a service, how configuration reaches it, and which storage or network it uses. Reproducing a stack still depends on external inputs such as image availability, variable values, host capabilities, and existing data. ...

August 18, 2027 · 6 min · XB Field Notes
The working tree contains price.py, test_price.py and notes.txt. Only the first two edits enter the selected staged export for testing and commit; the unrelated note edit remains, and the committed note retains its original bytes.

Small commits tell a coherent story

A useful commit answers one question about the behavior of a repository. It includes the implementation, the checks that establish that behavior, and documentation needed to use it. Smallness means a bounded reason for change, rather than a target number of lines. An inclusive shipping threshold might require edits to both a function and its regression test while leaving an unrelated draft outside the commit. ...

July 25, 2027 · 5 min · XB Field Notes
Two revisions of guide.md compare invalid --sort-fields with exit 2 and corrected --sort-keys with output key order a then z. The arrow represents a reviewable document change.

Docs as code make claims reviewable

A guide can be stored beside the application and still describe a command that never worked. Docs as code provides a way to discover and review that mistake: plain source files, version history, ownership, a preview, and checks attached to the change. It does not make prose correct automatically. The valuable link is between a documented claim and evidence from the implementation that the reader will actually use. ...

March 29, 2027 · 4 min · XB Field Notes