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
Nine encoded history states show good revisions 0–3 and 5–6, skipped 4, and bad 7–8, with a pointer to first bad 7. Exit 200 aborts rather than labels. Positions do not show probe order.

git bisect automates a regression search

Automated bisection repeatedly checks a revision and turns the result into a history decision. It can replace many manual checkouts with roughly logarithmic probes on a simple range, but the speedup depends on a trustworthy test. A wrapper that misclassifies missing tools or broken infrastructure can confidently identify the wrong commit. Designing the verdict contract is therefore part of debugging, not merely setup around the search. ...

July 7, 2027 · 5 min · XB Field Notes
A lightweight reference points directly to a commit. An annotated reference points to a tag object, which targets a commit.

Git tags pin a release to a commit

A release tag gives people a readable name for a particular source revision. Unlike a branch, it does not advance when another commit is created. However, Git does not make a tag reference physically impossible to change: a user with sufficient access can replace or delete it. The dependable release contract is therefore a combination of a recorded object ID, an immutable-name policy, and controls over who may update release references. ...

June 11, 2027 · 4 min · XB Field Notes
HEAD selects topic. topic names C, main names B. Parent arrows point from newer commits toward their parents.

A git branch is a moving label on a commit

A Git branch names the tip of a line of history. Creating another branch normally adds a reference to an existing commit, not another copy of every tracked file. Two names can point to the same commit and later advance independently. This makes branches inexpensive to create, but it does not mean their names contain the history or that deleting every reference to a commit is harmless. ...

February 5, 2027 · 5 min · XB Field Notes
A repository boundary contains a filled earlier-commit node and an empty current-tree node; a separate runtime file sits outside the repository.

Credentials belong outside repository history

A credential committed to Git becomes part of a versioned object graph that collaborators and automation may copy. Removing the file from the latest tree does not remove the earlier commit containing it. The practical boundary is to keep credential values out of source history and provide them through an authorized runtime mechanism. Repository configuration can describe how to obtain a secret without containing the secret itself. ...

September 14, 2026 · 5 min · XB Field Notes