We're working with git in a "master" and multiple branches strategy. How many branches? A lot, some quite long living (10 long living "team" branches and 20-30 short living branches off them is normal).
I would like to see a merge of all of the "active" branches (a list of branches I know that are active) - I don't care if this doesn't compile or if some merges fail - I want to see "the big picture".
I've tried working with "checkout master; checkout %branch% -- ." - but I can do that for a single branch since the next branch I'll look at will override the %branch%. Moreover, because of one branch updating from another, I end up looking at the same changed file multiple times.
My next try was to use merge-base between branches I've seen and the next branch. So if I've seen branch1, then my flow is "checkout master; reset --hard; checkout branch1 -- .; (review branch 1); merge-base branch1 branch2 (emits commitX); reset --hard; checkout %commitX%; checkout branch2 -- ." That would leave branch2 as changes (for my review) but would leave out everything in branch1.
Above is great - but... 1. Identifying the order of branches to do this is hard (working with rule-of-thumb right now). 2. This is very time consuming and error prone. 3. If I make a mistake (choose the wrong branch to start from) I still get to review the same changes twice.
Is there any methodology / tool to aid in such tasks?