Branches

master

staging

develop

💻

👨‍💻

🚧

Workflow

1. Create a branch from 'staging'

2. Work on changes

3. Merge to 'develop' when finished

4. If approved merge to 'staging' and test, if not go back to step #2

5. If 'staging' works merge to 'master', Deploy through DeployBot and delete local branch, if not go back to step #2

Workflow

🐞

1. Create a branch from 'master'

2. Work on changes

3. Merge to 'staging' when finished

4. If approved merge to 'master', if not go back to step #2

5. Deploy through DeployBot, merge to 'develop' and delete local branch

Workflow

👬

1. Create a branch from 'staging'

2. Work on changes

3. Merge to 'develop' when finished

4. Push local branch to repo

Dev 1

Workflow

👬

1. Clone local branch from repo

2. Work on changes

3. Merge to 'develop' when finished

Dev 2

4. If approved merge to 'staging' and test, if not go back to step #2

5. If 'staging' works merge to 'master', Deploy through DeployBot and delete local and remote branch, if not go back to step #2

  • Server setup
  • Decent GIT knowledge
  • Branch naming convention (task/ID)
  • git merge --no-ff
  • Release strategy

Requirements

  • More time consuming

Downsides

  • Clients need 'staging' server
  • JB

Clients

  • Binopolis
  • HSO
  • Goddiva
  • Wave LED

Branching Workflow

By Javier Villanueva

More from Javier Villanueva