So I'm trying to understand how Git handles certain processes and what are some already used practices.
Let's say we have a Git repository with a branch called master. We also have two branches that are created simultaneously from master. We'll call them branch_one and branch_two.
branch_one already has work completed for a specific feature. I am currently developing on branch_two. For the sake of this conversation, let's assume that I can't merge branch_one to master because it's pending approval from other developers.
Here's the issue:
I need all of the work from branch_one in order to continue work on branch_two.
Here is my current flow:
1) merge branch_one into branch_two.
2) work on branch_two.
3) rebase branch_two with master before submitting a pull request.
Uh-oh. The rebase has conflicts on 30+ patches. I assume this is because the merge (step 1) changes the head of branch_two. I may be assuming incorrectly.
Obviously I would like to avoid a massive conflict resolution step in my version control process.
So my questions:
Is there a better way to handle this type of process, where a feature branch requires changes from another feature branch, that doesn't include massive conflicts?