Sometimes, you need to keep a branch private, and to protect yourself from accidentally clicking ‘Publish Branch,’ it’s a good idea to prevent its publication. On Windows, you can do it like this…
In the folder .git/hooks
, create a file named pre-push
(without an extension) and place the following content inside:
#!/bin/sh # List of branches to protect PROTECTED_BRANCHES="local-branch-name" # Get the name of the branch being pushed current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/,,') # Check if the current branch is in the list of protected branches if echo "$PROTECTED_BRANCHES" | grep -w "$current_branch" > /dev/null; then echo "Pushing to branch '$current_branch' is not allowed." exit 1 fi