You might find topgit useful for maintaining separate interdependent feature branches:
https://mackyle.github.io/topgit/topgit.html
https://github.com/mackyle/topgit
It adds some simple commands that manage all of the base and head refs of the branches and automatically propagates merges up the tree when you modify a branch lower down. It has been around for quite a while so it’s fairly stable by now.
Most importantly, it doesn’t do any history rewriting, so you keep the full commit history of your branches while making it easy for other contributors to make commits to the same set of feature branches concurrently.