#
Branch Types & Envs
This guide outlines how our Git branches align with AWS environments and drive automated deployments. It covers environment branches, short‑lived development branches (feature, release, hotfix), and a release strategy that tracks versions across stages.
#
Environment Branches
The environment branches below mirror the names of our AWS environments. This one-to-one mapping means that when code is committed to any of these branches, it is automatically deployed to the corresponding AWS environment.
These Environment branches form the backbone of our deployment pipeline, enabling consistent and reliable delivery across various stages of our lifecycle.
#
AWS Environment Mapping
Our AWS accounts host the following environments:
- BPO-Dev: Contains
dev,qa, andpreprod1environments - BPO-Pent: Contains
pentenvironment - BPO-Prod: Contains
prod1environment
#
Development Branches
While our environment branches establish our deployment targets, we use short-lived branches to organize active development work.
#
Feature Branches
Feature branches focus on a single unit of work:
- Created from the current release branch
- Scope limited to one task or a related set of changes
- Requires code review before merging into dev
- Once stable and meeting acceptance criteria, open a pull request to the release branch
Naming Convention: Must use semantic prefixes. For detailed naming conventions and examples, see Best Practices.
#
Release Branches
Release branches collect all work related to a specific release:
Characteristics:
- Created at the start of a new release cycle
- Integration points for features ready to ship
- Used for deploying across environments
- Used for hotfixes between releases
#
Hotfix Branches
Hotfix branches are for urgent production fixes:
- Created from a hotfix release branch (e.g., release/2509.2 if prior hotfixes exist)
- Only for issues discovered after production deployment
- Must be merged back into the originating release branch and the next active release branch
#
Branch Lifecycle Management
- Keep the last six release branches active
- Delete older release branches
- Clean up feature branches after they're merged and the sprint is complete