Log

How it works, written down

One mechanism per entry, each with a diagram of it. Release notes live in the changelog; this is for the parts worth explaining.

9/9
tags
between order
  1. What happens when you rewrite history Rewriting history is the operation people reach for once every two years, run from a half-remembered git filter-branch incantation, and get wrong. The command…
  2. The amend that flattened three months A commit carries two dates. The author date says when the work was written; the committer date says when this particular commit object was made. Most of the…
  3. Pulling the library out of the binary In 0.10 the domain layer moved out of the binary and into a crate of its own. The CLI now depends on it like any other consumer would, and so does the TUI.
  4. The build day we were tired of losing Every Git library in every language eventually asks you to install the same four things: OpenSSL, libssh2, libcurl, and perl to build them. Not because your…
  5. Seven clients, and what each one refuses to pretend May added four platforms in ten days: Codeberg and the Gitea family in 0.7.13, Sourcehut in 0.7.15, Radicle in 0.7.16, Bitbucket Cloud in 0.7.17, and Azure…
  6. The gate before the commit A secret that reaches a remote is public. Rotating it is the only real fix, and every hour between the push and the rotation is exposure you cannot take back…
  7. Snapshots, and where they live A snapshot is a copy of your working tree, taken locally, that is not a commit. It has no parent, no message worth writing, no place in your history and no way…
  8. One push, three platforms Keeping a repository on more than one platform is normally a chore made of shell aliases: a remote per host, a loop that pushes to each, and a mental note…
  9. What torii actually is Git has won. Every serious codebase runs on it, and the data model underneath is not the problem — it is the reason the thing survived twenty years. The…