Alice works on feature A (branch A) and Bob on feature B (branch B), and after some time after each work on their branch, they realize they both need a common functionality implemented, how should this situation be handled?
Should a branch (branch C) be created for this common feature? So that once the common feature is completed in branch C, Alice and Bob merge it to their branches?
Is it going to be a problem when branch A and branch B are merged into the master branch?
Another question\scenario: what happens if either Bob already implemented the common functionality in his branch? They realize afterwards that Alice needs it for her feature too. It wouldn't be feasible for Alice to implement it. It would I think also create problems when merging into master.
In the standard GIT workflow you have a develop branch (amongst other branches like release, hotfix, ...) and your developer/feature branches. If a developer B needs featureA from developer A then developer A would have to merge his/her branch into the develop branch so that developer B can then merge the develop branch into his/her own feature branch.
The common feature should only be implemented by one of the developers and then merged into every other developers branch.
Hope this helps ;)