Git Workflow

Jigowatt uses bitbucket.org for all it’s repositories, you must have an account. Access is granted by a team leader.

Jigowatt uses “Git Flow” for branch management, please familiarise yourself with it.

General Rules

  • Ensure you’re on the correct branch (see below).
  • Pull before you start working on a  branch (make sure you’re up-to-date)
  • Commit early and often.
  • Commits should represent an individual change, don’t lump multiple unrelated changes together.
  • Be as descriptive as you can in the commit message/description
  • “Finish” Feature and Hotfix branches (tower makes this easy) – Merge into develop and delete feature/hotfix branch

Branch Rules

🚀 master

Code in this branch should mirror, exactly, the live site.

For merging into this branch, the following must be true:

  1. The code started as a feature or hotfix
  2. The code has been merged into the develop branch
  3. The client has signed off the changes
  4. The code contains absolutely no critical bugs

It’s vital that only Production Environment ready code is in this branch for quick restoration in emergencies.

🔧 develop

This branch should mirror the Staging Environment, and be production ready.

For merging into this branch, the following must be true:

  1. Code must be Production Environment ready
  2. The code has been in a “feature” or “hotfix” branch
  3. The code has passed thorough internal testing
  4. The code contains no critical bugs

💡 feature

Feature branches should be developed on in the Local Environment only.

Name descriptively:
feature/calculator

Feature branches typically require one of the following to be true:

  1. Multiple files involved in a change or new feature
  2. The end result is new “functionality” or a new “module” in the project

🔥 hotfix

Hotfixes are typically bug fixes or tweaks after a feature has been completed.

Name descriptively:
hotfix/calculator-button-size-changed

These should only be created when:

  1. A bug has arisen and needs fixing ASAP
  2. There is a change that involves only a single file being uploaded to the server (such as a CSS tweak or spelling mistake)