Git Hooks/Block direct pushes to main

Prevent accidental pushes to main.

Section: Hook Snippets

Block direct pushes to main

sh
bash
#!/usr/bin/env sh
branch="$(git symbolic-ref --short HEAD)"
[ "$branch" = "main" ] && echo "Direct pushes to main are blocked." && exit 1
exit 0

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Hook Snippets
Pre-commit lint script
Run linting before commit and fail on error.
OpenIn sheetshsame section
Pre-commit test script
Run tests before commit.
OpenIn sheetshsame section
Commit-msg conventional commits validator
Reject non-conforming commit messages.
OpenIn sheetshsame section
Post-checkout regenerate assets
Run setup after checkout when needed.
OpenIn sheetshsame section
Pre-push hook path
Default path for pre-push hook script.
OpenIn sheetsh2 tag match
Pre-commit hook path
Default path for pre-commit hook script.
OpenIn sheetsh1 tag match