Git workflow
How use Git to coordinate on product module updates
Overview
Building a product module on Root often requires multiple builders working on the same codebase. We use Git and GitHub to manage collaboration and version control.
We always follow these core principles when collaborating on product module development using Git:
- The
main
branch should always match the latest major (live) product module version . Whenever changes are merged intomain
, themain
branch must be deployed by a Root team member to create a new live product module definition (major version). - Branches should be feature specific and follow this naming convention:
<author-name>/<description>
$ git checkout -b peter/feature-quote-validation
- Pull requests should be thoroughly reviewed and tested before being merged into
main
.
Read more about the live (major) and draft (minor) versions of a product module in the Product modules overview guide.
Gitflow workflow
The Gitflow workflow works well for product module development. A full guide can be found here.
We use the Gitflow workflow as follows:
- A single
develop
branch is created frommain
. - One or more
feature
branches are created fromdevelop
. This allows multiple developers to work on different branches. - When a
feature
branch is ready it is merged into thedevelop
branch for testing. - When the
develop
branch is ready (all features merged and tested, PR reviewed and approved) it is merged intomain
. Themain
branch must now be deployed by a Root team member. - If an issue is detected in
main
, ahotfix
branch is created frommain
- Once the
hotfix
is complete (tested and PR reviewed) it is merged to bothdevelop
andmain
. Themain
branch must now be deployed by a Root team member.
Updated 10 months ago