Skip to content

Git Branch Management Strategy

In this project, we follow a structured Git branching strategy to manage versions, production stability, and parallel development efficiently.

🔵 main is the Production Branch

The main branch always reflects what is currently in production.

  • It must never contain the -RC (Release Candidate) suffix in its version number.
  • Only stable, production-ready code is merged into main.

One Branch per Version

For each upcoming version, we create a dedicated branch named after the version number (e.g., v1.2.0), and we immediately open a draft Pull Request (PR) for it.
This allows early visibility on the scope and progress of the release.

Post-Production Deployment

After deploying the main branch to production:

  • We deploy the branch of the next version (with the -rc suffix) to a pre-prod or staging environment.
  • This is done without merging the version branch into main.

This ensures that if any hotfixes are needed in production, they can be made directly on main and deployed without delay.

Feature Development

All development work for a given version must be done through dedicated PRs targeting the version branch (not main).

This keeps version development isolated and avoids affecting production.

Rebasing After Merges

Once a version branch is merged into main:

  • Don’t forget to rebase any ongoing version branches or feature branches.
  • This ensures everything remains in sync with the latest production code.