Primo doesn't have native branching functionality (yet), but it's possible to achieve similar functionality with a little more work. Assuming that you have an existing site you want to branch:
[Duplicate the site](#)
Apply all your desired changes in the new site
From the branched site's repo, copy
site-primo.json and overwrite
site-primo.json in the original site's repo.
You can delete the new site or use it the next time you want to branch one of your sites.
Whether you want to hydrate a branch site or use it to as to branch another site, you can copy
site-primo.json from the source repo and overwrite
site-primo.json in the branch site's repo.