Title: Git - How to prevent a branch to be pushed
Author: Solène
Date: 08 September 2022
Tags: git versioning unix
Description: In this article, you will learn how to use git hooks to
prevent a branch from being pushed.

# Introduction

I was looking for a simple way to prevent pushing a specific git
branch.  A few searches on the Internet didn't give me good results, so
let me share a solution.

# Hooks

Hooks are scripts run by git at a specific time, you have the "pre-"
hooks before an action, and "post-" hooks after an action.

We need to edit the hook "pre-push" that happens at push time, before
the real push action taking place.

Edit or create the file .git/hooks/pre-push:

```shell
#!/bin/sh

branch="$(git branch --show-current)"

if [ "${branch}" = "private" ]
then
    echo "Pushing to the branch ${branch} is forbidden"
    exit 1
fi
```

Mark the file as executable, otherwise it won't work.

In this example, if you run "git push" while on the branch "private",
the process will be aborted.