Files
claude-playground/.githooks/pre-push
T
christianandClaude Opus 5.5 8b08c7b27a Block pushes and commits to main with git hooks
pre-push rejects any push that would update refs/heads/main, however the
command is spelled; pre-commit and pre-merge-commit refuse commits while
main is checked out. npm install enables them via core.hooksPath. The
README documents the three layers of protection for main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:39:56 +02:00

12 lines
475 B
Bash
Executable File

#!/bin/sh
# Reject any push that would create, update or delete main on the remote, however the
# command is spelled (bare `git push`, HEAD:main, +main, refs/heads/main, --all, --mirror).
# Only a human merges into main, through a PR in Gitea.
while read -r local_ref local_sha remote_ref remote_sha; do
if [ "$remote_ref" = "refs/heads/main" ]; then
echo "pre-push: pushing to main is not allowed; push a branch and open a PR instead." >&2
exit 1
fi
done
exit 0