This project follows a structured Git branching model:
main→ Production environmentdevelop→ Staging / integration environmentfeature/*→ Feature development branches
- Developer creates a feature branch from
develop - Feature is implemented and pushed
- Pull Request is created to
develop - CI pipeline validates build and container health
- After approval, feature is merged into
develop - Release Pull Request is created from
developtomain - On merge to
main, production deployment is triggered
Before merging, the feature branch is rebased or merged with latest develop branch.
Conflicts are resolved locally, tested again, and then pushed.
Even though GitHub free plan does not enforce strict protection:
- Direct push to
mainis avoided - Pull Request approval is required
- CI pipeline must pass before merge
- Feature branches are short-lived