Table of content:
GitFlow - Documentation & Training Resources
GitFlow - Environments and Branches
GitFlow - Step by Step Branch Workflows
Additional Notes
GitFlow - Documentation & Training Resources
GitFlow Diagram
GitFlow Documentation
Semantic Versioning Documentation:
GitFlow Training Meeting Recording
AptivePay Devs - GitFlow Training (2021-11-16 at 08_03 GMT-8).mp4
GitFlow - Environments and Branches
Types of Branches
Branch Name |
Naming Convention |
Example Name |
Created From Branch(s) |
Merges Into Branch(s) |
feature |
feature/ |
feature/APAY-123/add easypay-calc |
develop |
develop |
bugfix |
bugfix/ |
bugfix/APAY-345/fix-ui-glitch |
develop, release |
develop, release |
hotfix |
hotfix/ |
hotfix/1.0.2 |
master |
master, develop, release |
release |
release/ |
release/1.0.0 |
develop |
master, develop |
develop |
develop |
develop |
- |
- |
master |
master |
master |
- |
- |
Environments - Mapping Git Branches to Server Environments
There are 4 different environments in GitFlow:
Local Development Environment
The local development environment exists on individual developer machines. This is where the coding work for features, bug fixes, and hotfixes are performed. Feature, bugfix, and hotfix branches exist here prior to the merge.
Testing
This is where features are integrated together and where QA does the initial testing of features and bugs that have been completed and merged in by the Code Review. The development branch should be deployed to this environment when changes are merged.
Staging
This should be as close to production as possible. This is where User Acceptance Testing is performed. The release branch should be deployed to this environment when changes are merged.
Production
This should be where the production code utilized by end users runs. The master branch should be deployed to this environment when changes are merged.
GitFlow - Step by Step Branch Workflows
Feature - How to Create new Features as part of the sprint
How to Bug fix on Develop Branch - Working on Bug Fixes as part of the sprint
How to Bugfix on Release Branch - Working on Bug Fixes during Staging and QA, prepping for a release
Hotfix - How to Priority bugfix on production
Release - How to Prepare a group of features and bug fixes to deploy to production
Additional Notes
When possible, strive to only work on features for one major or minor version at a time.
Example:
Don’t try to work on features for v1.3.0 at the same time as v1.4.0. This potentially complicates things as you CANNOT merge the v1.4.0 feature back into develop until you have created the release/1.3.0 branch
If you have to work on the v1.4.0 feature at the same time as the v1.3.0 feature then DO NOT merge the v1.4.0 feature back into develop until you have created the release/1.3.0 branch. This means that you cannot pass the “Code Review” phase for the v1.4.0 feature until AFTER the release/1.3.0 branch is created.
For free consultation on GitFlow documentation, training, environments, and workflows, click here.
2024-04-25
We have built partnerships for a decade. Collaborate with Utah Tech Labs to build trust together.