Kristian Glass - Do I Smell Burning?

GitHub Repository Configuration Checklist

Here’s how I generally configure my GitHub repositories.

At some point I should automate this - I’m hoping that GitHub will add some cool .github/config.yaml functionality and save me some work. Until then, this is my checklist!

In Settings:

  • Options
    • Disable wikis because wikis are terrible for documentation
    • Disable squash merging and rebase merging - I want merge commits
    • Enable automatically deleting head branches - it’s easy to forget to do so manually
  • Branches
    • Protect main
      • Require status checks to pass before merging - I want to make sure my changes don’t break things
      • Require branches to be up to date before merging - when combined with merge commits this gives me a nice clean history that preserves the individual history of branches (unlike squash commits) while making sure they’re applied in a single (merge) commit
      • Include administrators - because that’s usually me, these settings are for my own benefit, and GitHub still helpfully gives me an override button if I really need it
      • Disallow force pushes - on unmerged branches great, but I generally don’t want this on main!

Comments