#!/bin/sh # Refuse commits (and, via pre-merge-commit, merge commits) while main is checked out. # Cherry-pick, revert and fast-forward merges don't run these hooks; pre-push still stops # their result from reaching the remote. name=${1:-pre-commit} if [ "$(git symbolic-ref --short -q HEAD)" = "main" ]; then echo "$name: committing on main is not allowed; create a branch first." >&2 exit 1 fi exit 0