Skip to content

Series

Git for Working Devs

Complete · 11 parts in engineering

A sequential mini-course in Git for people who ship — fundamentals and conventional commits, then the branching, review, and collaboration workflows that hold a team together.

  1. 1 Conventional Commits, End to End A commit message spec that turns git log into a changelog and a version number. The full type list, the anatomy of a message, breaking changes, and why the discipline pays for itself.
  2. 2 A .gitmessage Template and Commit Hooks That Enforce It A convention nobody enforces is a convention nobody follows. A commit template to prompt the format, and a commit-msg hook to reject anything that doesn't match — shared across the whole team.
  3. 3 git rebase -i Without Fear Interactive rebase is how you clean a messy branch before review — squash, reword, reorder, drop. The commands, the golden rule, and how to recover with reflog when it goes sideways.
  4. 4 Merge vs Rebase vs Squash-Merge Three ways to land a feature branch on main, three different shapes of history. What each one actually does to the commit graph, and a rule of thumb for picking one.
  5. 5 Undoing Things: reset, revert, restore, reflog The four commands that undo almost any Git mistake — and exactly which one to reach for. Discard a change, undo a commit, recover a deleted branch, walk back a bad rebase.
  6. 6 A Sane .gitignore and .gitattributes Two dotfiles that keep a repo clean: .gitignore to keep junk out, .gitattributes to normalize line endings and tame diffs. Plus the global ignore for your machine-specific cruft.
  7. 7 Signing Commits with SSH and GPG That 'Verified' badge isn't decoration — it proves a commit came from who it claims. The easy modern path (SSH signing), the classic one (GPG), and how to fix 'gpg failed to sign'.
  8. 8 Trunk-Based vs Git Flow vs GitHub Flow Three branching models, three philosophies of how code reaches production. What each one is, the team size it fits, and why most small teams are overthinking it.
  9. 9 A Feature-Branch Workflow, Start to Finish The full loop for shipping a change the GitHub Flow way — branch, commit, push, PR, review, merge, clean up — with the exact commands and the gh CLI shortcuts at each step.
  10. 10 Keeping a Fork in Sync Contributing to open source means your fork falls behind the original fast. The upstream remote, the fetch-and-rebase loop, and the daily routine that keeps your PRs mergeable.
  11. 11 Resolving Merge Conflicts Like You Mean It Conflict markers stop being scary once you can read them. What <<<<<<< HEAD actually means, how to resolve by hand or with a tool, and rerere so you never solve the same conflict twice.