A Visual Guide to Git Internals — Objects, Branches, and How to Create a Repo From Scratch