Skip to content

Instantly share code, notes, and snippets.

@stephen-mw
Forked from pixelhandler/pre-push.sh
Last active September 9, 2021 01:35
Show Gist options
  • Save stephen-mw/f7ae9387a0d0661734d5 to your computer and use it in GitHub Desktop.
Save stephen-mw/f7ae9387a0d0661734d5 to your computer and use it in GitHub Desktop.
pre-push hook to prevent pushing to dev, prod, release-*, patch-*
#!/bin/bash
# Prevents force-pushing to master
BRANCH=`git rev-parse --abbrev-ref HEAD`
PUSH_COMMAND=`ps -ocommand= -p $PPID`
PROTECTED_BRANCHES="^(master|dev|release-*|patch-*)"
FORCE_PUSH="force|delete|-f"
if [[ "$BRANCH" =~ $PROTECTED_BRANCHES && "$PUSH_COMMAND" =~ $FORCE_PUSH ]]; then
echo "Prevented force-push to protected branch \"$BRANCH\" by pre-push hook"
exit 1
fi
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment