Mobillium Git Guidelines

Table of Contents

  1. Master & Develop Branches
  2. Feature & Epic Branches
  3. Release & Bugfix Branches
  4. Hotfix Branches
  5. Summary
  6. References

Master & Develop Branches

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.

Feature & Epic Branches

Small Tasks

  • Each new small feature should be created from develop.
  • Branch name should be start with feature/, if you have ISSUECODE branch name should be end continue ISSUECODE 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.

Large Tasks

  • Each new large feature should be created from develop.

  • 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 have ISSUECODE branch name should be continue with ISSUECODE 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.

Release & Bugfix Branches

  • Only bugfix can be made on the release 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.

Release Branches

  • Each new release should be created from develop.
  • 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 and develop branches, and master should be tagged with an updated version numbers.

Bugfix Branches

  • Each new bugfix should be created from release.
  • 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.

Hotfix Branches

  • The hotfix branches are used for quick bugfix on production releases.
  • Each new hotfix should be created from master.
  • 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 and develop branches, and master should be tagged with an updated version numbers.

Summary

The overall flow of Gitflow-M is:

  1. A develop branch is created from master
  2. Epic branches are created from develop for large tasks
  3. for sub-tasks of large tasks Feature branches are created from epic
  4. When a epic is complete it is merged into the develop branch
  5. for small tasks Feature branches are created from develop
  6. When a feature is complete it is merged into the develop branch
  7. A release branch is created from develop
  8. Bugfix branches are created from release
  9. When the release branch is done it is merged into develop and master
  10. If an issue in master is detected a hotfix branch is created from master
  11. Once the hotfix is complete it is merged to both develop and master

References