Git
Browse posts in this category.
Git Internals: Objects, the .git Directory, and What a Commit Really Is
A commit is not a diff, a branch is not a folder, and .git is not a black box — it's a content-addressed key-value store with four object types. Once that clicks, git gc, shallow clones, and "detached HEAD" all stop being magic.
Git Hooks, Submodules, and Git LFS
Three ways Git extends past "track my source files": hooks that run your own scripts at key points, submodules for embedding one repo inside another, and LFS for handling large binaries without bloating the object store from the previous chapter.
Branching Workflows, Commit Conventions, and CI Basics
Git Flow, trunk-based development, and feature branching are all built from the same primitives covered so far — the actual difference between them is how long branches live and how often they merge, which is also what determines how much your CI pipeline needs to do.
Git Troubleshooting: Fixing the Most Common Real-World Problems
The scenarios that don't map cleanly to one earlier chapter — a commit on the wrong branch, a conflict that looks unresolvable, a force-push that broke someone else's day — collected as direct fixes instead of concepts, closing out the series.
Managing Multiple GitHub Accounts on One Machine
SSH authenticates which account accesses a repository; Git config determines who authored the commit. Conflating the two is how you end up pushing personal code to a work org or committing under the wrong profile — fixing it is a one-time SSH config setup.