Overview
We use industry-standard methods for version control using Git.
Branching Strategy
- All new work is cut from the mainbranch. This ensures that every new feature or fix starts from the most current stable version of the project.
- Feature branches should be created for each new feature or bug fix and branched directly from main.
Commit Messages
- Maintain clear, descriptive commit messages that succinctly explain the changes made and the reason behind them.
- Implement a commit message template for consistency.
Review Process
- Code reviews are mandatory for all merge requests to ensure quality and consistency. At least one peer review by a team member not involved in the branch development is required.
- The Asana task will have a sub task for developer review. Ensure that the review task name includes the name of the parent task. Within the task content include a link to the merge request in Github.
Utilizing the develop Branch for Staging
- In scenarios without automatic preview builds based on pull requests (PRs), the developbranch is set up to act as the staging environment.
- This branch should be regularly updated and serve as a mirror to test features in a collective environment that mimics production.
Deployment Process
- Deployments to the staging (develop) environment are automated. Whenever there is a merge into thedevelopbranch it will trigger an automatic build.
- Keep the staging environment closely synchronized with the mainbranch to reflect production as accurately as possible.
Direct Merging into main for Production
- When a feature is deemed ready for production, the feature branch is merged directly into main.
- After merging, the feature branch is closed and deleted from GitHub to maintain a clean and manageable repository history.