It does look like the update method needs investigation - I've just run through the process on a test repo on trellis/bedrock/sage branches and the branches seem to be over writing each other. Ie. update the 'bedrock' branch and the sage files are deleted. I'll look into it more thoroughly.
EDIT - I found that I had to use a more specific command for the git merge step:
git merge -X subtree=trellis/ --squash trellis/master
and then manually resolve any resulting conflicts.
git merge -X subtree=site/ --squash bedrock/master