We're using Git Flow model similar to Vincent Driessen's branching model.
master- read-only. All production instances depends on this branch.staging- all staging instances depends on this branch. All PRs must be merged with this branch.
All features must be developed in feature branches, after that Pull Request with staging destination branch must be created and passed to Team Code Review.
To provide correct changelog releases generation, all branches should have the following representation:
<patch_type>/<short_edit_description>
short_edit_description- short description of your patch;patch_type- type of patch, must be one of the following values:fix- for bugfixes;new- for new features;improve- for improvements of existing stuff.
Each commit should have the following representation:
Task_name
<empty_string>
commit_details
Task_name- comes from Asana task commit relates to;commit_details- as single task can have many commits, each of them should contain short description about brought changes.
Each Pull Request must have as title the same as related Asana task title.