The diagram shows the following:

The workflow for an assignment are as follows:

  1. The developer creates a user branch based on the DEV branch
  2. The developer implements the change, finishes it and after testing in own branch it is committed to the DEV branch
  3. When code freeze is reached, the code from DEV is merged to TEST branch
  4. Developers may now proceed with committing to the DEV branch
  5. Testers begin testing in TEST branch (And further to staging)
  6. When the release date is reached testing should be done and the product is ready.

Merging procedure (Managed by the merge-responsible person):

  1. Announce Code Freeze in effect (Send email to all in the team)
  2. Create branch based on TEST branch
  3. Locally merge in DEV branch
  4. Solve possible conflicts
  5. Push to remote branch
  6. Create PR
  7. Complete PR
  8. Write mail for the team regarding the merge (So that ppl can start pushing to DEV branch again)