N
Naveenr.dev
Ch. 0710 min read

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.

2026-08-11
Read
Ch. 089 min read

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.

2026-08-12
Read
Ch. 099 min read

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.

2026-08-13
Read
Ch. 109 min read

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.

2026-08-14
Read
Ch. 117 min read

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.

2026-08-05
Read