As shown in the following image, I have two different branches with their corresponding PRs (PR1
and PR2
). The top arrow is the develop
branch.
PR2 is build on top of PR1. PR1 is build on top of develop. Keep in mind that I also compared PR2 to PR1 in the Github UI.
Now, at some point in time as shown below, I needed some changes from the Bout
branch so I merged it into my PR2 from develop. Then, when I came back and looked at the Github UI for PR2, I saw a very long list of contributors (on the right side of the page). That was not right to me!
So, I changed the comparison (on top of the Github UI) dropdown; from PR2 versus PR1
to PR2 versus develop
. With that changes, the number of contributors got corrected to what I had in mind (myself and contributors of Bout). After doing this, I see that ALL COMMITS from PR1 are in my PR2 (listed in the Github UI in the chronological order).
Now, my questions are:
- I want PR1 to land (into develop), then start landing PR2. Is that possible?
- If I land PR2, what will happen to Bout? If Bout is landed before PR2, will I get conflicts? How can I resolve it?
- What did I do wrong in the first place when I merged Bout into PR2? Was I supposed to move the PR1 and PR2 move forward to the base commit of Bout, and then start merging Bout?
- Should I always compare against develop even if I create a branch on top of another one?
- My last and important question: What should I do as my next steps to have a clean state? "Clean state" means landing PR1 and PR2 without any big conflicts (with each other and with Bout); BTW, Bout is not mine and it will land separately by its owner.
I am worried about the fact that when I land PR1, I am messing PR2's state. And also, PR2 will mess up Bout?!?
Really appreciate your help!
I am aware of the following questions on SO, but none was helpful to me:
https://stackoverflow.com/questions/14893399/rebase-feature-branch-onto-another-feature-branch
In GitHub flow, is it OK to base feature branch on another feature branch?