Skip to content

Instantly share code, notes, and snippets.

@ePirat
Created Nov 4, 2019
Embed
What would you like to do?
Push check git hook
#!/bin/bash
protected_remote='origin'
protected_branch='master'
current_remote="$1"
current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')
if [ $protected_remote = $current_remote ]
then
read -p "You're about to push to $current_remote, is that what you intended? [y|n]" -n 1 -r < /dev/tty
echo
if echo $REPLY | grep -E '^[Yy]$' > /dev/null
then
exit 0 # push will execute
fi
exit 1 # push will not execute
else
exit 0 # push will execute
fi
if [ $protected_branch = $current_branch ]
then
read -p "You're about to push $current_branch, is that what you intended? [y|n]" -n 1 -r < /dev/tty
echo
if echo $REPLY | grep -E '^[Yy]$' > /dev/null
then
exit 0 # push will execute
fi
exit 1 # push will not execute
else
exit 0 # push will execute
fi
@ePirat
Copy link
Author

ePirat commented Nov 4, 2019

Put this at .git/hooks/pre-push

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment