Naming Convention

In order to keep the branch naming consistent and up to specification, this document will outline the naming convention used for branches and tags used in TagFlow.


Branches

In case of JIRA integration replace ${name} with JIRA ticket ID, eg. feature/UR-2831, fix/UR-1923.

Feature

How to use Feature branches?

Usage: Any new features that are added to the project,

Using prefix feature/${name} and - instead of white spaces.

Example:

  • feature/organisation-list
  • feature/user-registration
  • feature/logout

Refactor / Improvement

How to use Refactor / Improvement branches?

Usage: Any refactor or improvements that are added to the project but are not a new functinality or a bugfix.

Using prefix refactor/${name} and - instead of white spaces. Or Using prefix improvement/${name} and - instead of white spaces.

Example:

  • refactor/users
  • refactor/organisation
  • refactor/logout

or

  • improvement/user-registration
  • improvement/user-list-loading
  • improvement/query-performance

Fix

How to use Fix branches?

Usage: Any bugfixes or other fixes that are not urgent and are added to the project.

Using prefix fix/${name} and - instead of white spaces.

Example:

  • fix/user-login
  • fix/organisation-list
  • fix/logout

Hotfix

How to use Hotfix branches?

Usage: Any bugfixes or other fixes that are urgent and are added to the project, based on the current production version or another hotfix in current production.

Using prefix hotfix(.${hotfix-count})*/${version}.

  • Optional hotfix-count. Pay attention, hotfix count start from 1 and not 0 as the default hotfix is already counted as 0.

Example:

  • hotfix/1.0.0
  • hotfix.1/1.0.0
  • hotfix.2/1.0.0

Release

How to use Release branches?

Usage: Used as a temporary branch that updates package.json

Using prefix release/${version}.

Example:

  • release/1.0.0
  • release/1.2.1
  • release/25.0.3

Tags

Regular version release

How to Release?

Usage: Any realease that is desired to be deployed in a standard process.

Following regualr semver without v as version text.

  1. Major - Non backwards compatabile
  2. Minor - Backwards compatible
  3. Build - Incremental features/fixes but part of the same Minor release

Keep in mind the numbering start at 0.

Example:

  • 1.0.0
  • 1.1.0
  • 2.23.25

Hotfix version release

How to Release? How to Hotfix?

Usage: Any realease that is urgend and fixes a production issue and is created from existing regular version release.

Following regualr semver without v as version text, but modified to use hotfix word with the following formula:

${version}-hotfix(.${hotfix-count})*

  • Optional hotfix-count. Pay attention, hotfix count start from 1 and not 0 as the default hotfix is already counted as 0.

Example:

  • 1.0.0-hotfix
  • 1.0.0-hotfix.1
  • 2.23.25-hotfix.2