On Git Refs
Summary
The post revisits Git's internal refs and explains how fetch and switch interact with local and remote refs. It reframes Git as a mutable key-value store with a refs directory, clarifies the relationship between origin, remote-tracking refs, and local branches, and highlights why shorthand forms can be misleading. It uses concrete examples to improve understanding of Git's architecture and workflows.