Showing posts from April, 2017

git - protect local master branch, prevent commit and push

If you've worked with a remote git hosting service like github, you're likely familiar with the concept of protecting a branch. Other remote git hosting services (vsts, bitbucket, gitlab, etc) also support the concept. It's a good idea to protect your remote in this way, but why stop there? You can also protect your local dev environment from human error by using git hooks.

A new git repo (`git init`) comes with various hook examples in the `.git/hooks/` directory. We can tie into two of those hooks, `pre-commit` and `pre-push`, to prevent commits to your local master branch, and to prevent attempting to push to the remote master branch (even from a local feature branch).

Place the two files found in the gist linked below in your repo's .git/hooks directory to prevent the two actions described above:

Hope this helps,