I have a feature-a and feature-b both branched from master something like this:
E --- F --- G feature-a
/
---A---B---.... master
\
H --- I --- J feature-b
Our usual workflow is we create a pull request per feature and once the feature is done it is squashed and merged into master.
feature-a has some files that are dependent on changes made in feature-b.
Usually, I'd wait for feature-a to be done and squash-merged into master, then rebase feature-b onto the head of master and make necessary changes on feature-b, but is there another, cleaner way to do this without having to wait for feature-a to be finished that would keep committing history clean?