We're currently in the following situation, where a feature branch has been branched for a sub-feature branch (like, working on backend and frontend things for the same feature):
o | o development |\ | o feature-a | | | o | |\ | | o feature-a-sub | | | | | | | \ | o merged feature-a into feature-a-sub | / o feature-a-sub merged into development | | | o feature-a with future work on it | o development
A developer first merged feature-a into his feature-a-sub branch to be up-to-date, and then merged his feature-a-sub into development. Whereas the initial feature-a branch is still existent, and not yet finished.
In my point of view, this yields the problem that the feature-a branch is now rendered obsolete, as all changes are merged into feature-a-sub and then into development. In addition, work has continued on feature-a, which leads to future merge conflicts and a lot of manual labor.
Where did we take the wrong turn, and how would a proper workflow with less trouble look like?