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
mainbranch should always match the latest major (live) product module version . Whenever changes are merged intomain, themainbranch 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
developbranch is created frommain. - One or more
featurebranches are created fromdevelop. This allows multiple developers to work on different branches. - When a
featurebranch is ready it is merged into thedevelopbranch for testing. - When the
developbranch is ready (all features merged and tested, PR reviewed and approved) it is merged intomain. Themainbranch must now be deployed by a Root team member. - If an issue is detected in
main, ahotfixbranch is created frommain - Once the
hotfixis complete (tested and PR reviewed) it is merged to bothdevelopandmain. Themainbranch must now be deployed by a Root team member.

A visual representation for the Gitflow workflow from the aforementioned guide
Updated almost 2 years ago