Branching model
This standard defines the Git flow followed by Crehana's repositories and applications. It applies to every team.
Version control gives visibility over every change made to the application and lets you revert it when needed. Git tracks the change history and helps combine the work of several people, so the team works on different parts of the application at the same time.
The flow at a glance
A feature branch starts from main, the QA team validates it, and the change reaches main, which always represents production.
Feature branches
- Every feature branch starts from
main(ormaster, depending on the repo). - Each feature branch corresponds to one Jira task.
- A task is ideally one day of work and at most three. In no case can it last longer than a sprint.
- Every feature branch goes through QA so the QA team can validate it.
QA branches
The QA team validates every feature branch before it reaches production. Keep in mind:
- Every feature branch goes through QA, no exceptions.
- QA branches are reset when conflicts make it necessary.
Hotfix
A hotfix is an urgent fix for a problem in production, above all when it blocks our customers' operations.
- Do not create hotfix branches for scheduled sprint tasks that are not urgent.
- Every push to
main(ormaster) is replicated to the QA branches.
Main
The code on main (or master) is the code of the production environment. Everything pushed there represents what runs in production.
Related
- Branches and commits — how to name branches and write commit messages

