- Master & Develop Branches
- Feature & Epic Branches
- Release & Bugfix Branches
- Hotfix Branches
- Summary
- References
We have two main branches. These are master
and develop
.
- The
master
branch store the latest released codebase. - The
develop
branch store the latest codebase.
- Each new
small
feature
should be created fromdevelop
. - Branch name should be start with
feature/
, if you haveISSUECODE
branch name should be end continueISSUECODE
and short task name(e.g.feature/MBL-1234-short-task-name
) else branch name should be end with task name(e.g.feature/short-task-name
). - After the tests are completed and approved, they should be merged back to related
develop
branch.
-
Each new
large
feature
should be created fromdevelop
. -
Branch name should be start with
epic/
and end with task name. -
After the tests are completed and approved, they should be merged back to related
develop
branch. -
Sub-tasks of Large Tasks are should be created from
epic
. -
Branch name should be start with
feature/
, if you haveISSUECODE
branch name should be continue withISSUECODE
and short task name(e.g.feature/MBL-1234-short-task-name
) else branch name should be end with task name(e.g.feature/short-task-name
). -
After the tests are completed and approved, they should be merged back to related
epic
branch.
- Only
bugfix
can be made on therelease
branch.- No new feature can be added to after branch created.
- If a new feature needs to be added, new release branch with increased version must be created.
- Each new
release
should be created fromdevelop
. - Branch name should be start with
release/
and end with version number(e.g.release/1.0.1
). - After the new version is released, they should be merged to
master
anddevelop
branches, andmaster
should be tagged with an updated version numbers.
- Each new
bugfix
should be created fromrelease
. - Branch name should be start with
bugfix/
and end with task name. - After the tests are completed and approved, they should be merged back to related
release
branch.
- The
hotfix
branches are used for quick bugfix on production releases. - Each new
hotfix
should be created frommaster
. - Branch name should be start with
hotfix/
and end with version number(e.g.hotfix/1.1.11
). - After the fix is complete, they should be merged to
master
anddevelop
branches, andmaster
should be tagged with an updated version numbers.
The overall flow of Gitflow-M is:
- A
develop
branch is created frommaster
Epic
branches are created fromdevelop
for large tasks- for sub-tasks of large tasks
Feature
branches are created fromepic
- When a
epic
is complete it is merged into thedevelop
branch - for small tasks
Feature
branches are created fromdevelop
- When a
feature
is complete it is merged into thedevelop
branch - A
release
branch is created fromdevelop
Bugfix
branches are created fromrelease
- When the
release
branch is done it is merged intodevelop
andmaster
- If an issue in
master
is detected ahotfix
branch is created frommaster
- Once the
hotfix
is complete it is merged to bothdevelop
andmaster