Git

Working notes and how-to guides for Git – the distributed version control system behind nearly everything in this repository. These pages favor a particular, opinionated workflow over an exhaustive command reference: small, complete commits and clean, linear history.

The official Pro Git book remains the best free reference for anything not covered here.

Git on WSL Ubuntu 26.04 comes before any of the workflow: one script that takes a new Ubuntu install on Windows to signed commits pushed to GitHub over SSH.

The other three pages are on the places that workflow gets contentious. Squashing commits comes first: what replacing several commits with one does to the commit graph, why further work on a squash-merged branch, and any branch built on it, can then conflict with changes that have already landed, and how to tell a branch worth squashing from one that is not. Squash merge is the landing method in detail – the commands, the forge button, and the commit message that has to carry the whole branch. Contributing to open source is the other side of the same coin: a pull request against someone else’s project is a social act before it is a technical one, and the conventions exist to make a volunteer maintainer’s job smaller rather than larger.

Wiki Pages#

Git on WSL Ubuntu 26.04
Squashing Commits
Squash Merge
Submitting a PR to a Third-Party Repo