Collected Advice about Git

  • git-config Settings You Want — Git is highly configurable, and the defaults have gotten drastically better over the years, but there are still some non-default behaviours that I've found make life better.

  • Notes Towards Detached Signatures in Git — An idea I had, but never fully developed, for implementing after-the-fact object signing on top of Git. This was based on a similar feature in Monotone, which I'd found very effective for annotating commits on the fly.

  • Life With Pull Requests — Some notes I made while getting up to speed with pull requests to help my team come to grips with the workflows.

  • Git Is Not Magic — An exploration of Git's on-disk data structures and the design choices taken very early in Git's existence.

  • Stop using git pull for deployment! — Describing the least-painful way to use Git as a deployment tool I had worked out, circa 2014. Written in an aversarial style as a response to repeated ”why don't we just”s that, while well-intentioned, came from an incomplete understanding of what git pull does.

  • Git Survival Guide — Some words of caution about Git, git's preferred workflows, and various recoverable mistakes.