The git config Defaults Worth OverridingOriginalA few git config defaults are just wrong for modern work. These one-liners fix branch sorting, new-branch pushes, diffs and command typos.Git
The Case for a .gitignore AllowlistOriginalA gitignore allowlist ignores everything by default and re-includes only what you track. It flips the denylist habit, with one directory-traversal gotcha.Git
Keeping Git Fast at ScaleOriginalKeeping git fast at scale isn't about a bigger machine. Partial clone, sparse-checkout, fsmonitor and the commit-graph cut the work git does per command.Git
How to Split a Messy Git Commit Into Clean OnesOriginalSplitting a git commit into clean, reviewable pieces takes an interactive rebase, a soft reset, and git add -p. Here is the exact sequence.Git
TIL: GitHub Actions $/ Self-Reference SyntaxOriginalReference actions and workflows in the same repo using $/ syntax. Sibling actions match the running commit automatically, no hardcoded versions.TIL
TIL: git history fixup replaces the autosquash danceOriginalGit 2.55's experimental git history fixup folds staged changes into an earlier commit in one command. I built it from source and ran it.TIL
TIL: Speeding Up GitHub Operations With gh AliasesOriginalgh alias set maps custom shortcuts to any gh command. Common workflows become two-word commands instead of multi-flag incantations.TIL
TIL: Interactive Staging With git add -pOriginalgit add -p shows each change hunk by hunk and asks whether to stage it. Commit only the relevant parts of a messy working tree.TIL
TIL: Configuring pre-commit Hooks for Python and Node ReposOriginalpre-commit runs linters and formatters on every git commit. A .pre-commit-config.yaml enforces the same checks across every contributor.TIL
TIL: Using git bisect To Find the Commit That Broke a BuildOriginalgit bisect does a binary search through your history to find the exact commit that introduced a bug. Mark good and bad, it does the rest.TIL
TIL: Conditional Git Hooks With core.hooksPathOriginalGit's core.hooksPath lets each repo use its own hooks directory. No more symlinks or global hook collisions across projects.TIL