feat: add git pre-push hook to prevent direct pushes to protected branches

This commit introduces a pre-push Git hook that prevents direct
pushes to the `main` and `dev` branches. This enforces the use of
pull requests for merging changes into these protected branches,
promoting code review and maintaining branch stability.

The changes include:
- Adding a `install-git-hooks` target to the Makefile to symlink
 the pre-push script into the `.git/hooks/` directory.
- Creating the `scripts/git-hooks/pre-push` script that checks the
 target branch and aborts the push if it matches a protected branch.
- Updating the `CONTRIBUTING.md` file to instruct developers to
 install the Git hooks after setting up their development
 environment.
This commit is contained in:
bwnyasse
2025-11-13 11:44:01 -05:00
parent 6540d01175
commit 0f9ca9eb15
3 changed files with 30 additions and 0 deletions

View File

@@ -33,6 +33,9 @@ Follow these steps to set up your development environment and gain access to all
* Install web frontend dependencies: `make install`
* *(Mobile app dependencies will be installed within their respective directories later.)*
- **Install Git Hooks:**
- Run `make install-git-hooks` to set up local safeguards that prevent direct pushes to protected branches (`main` and `dev`). **This is a mandatory step.**
7. **Firebase Project Access Validation (CTO will provide access):**
* Confirm you have access to the `dev` Firebase/GCP project.
* Verify you can run `firebase login` and `gcloud auth login` successfully.