I'm looking for a git branching and merge strategy for merge with lots of 
conflicts requiring multiple people. I can make it work, and I understand 
git, but it all seems kind of awkward and it feels like there must be a 
better way.

I've got a big git merge to do. There are lots of conflicts and it requires 
many people to resolve them all.

The only way to handle this in git, AFAIK, is to start the merge and then 
just commit all files with conflicts in them and then let different people 
work on the different conflicts, committing them as they go. That is great 
for resolving the conflicts. In the diagram below, branchA is merged into 
branchB with merge commit M. The code in the repo at M is full of 
conflicts. Many of the conflicts in the merge are actually resolved in 
commits x, y, z.

o---o---o---o---- branchA
 \       \
  \-o---o-M---x---y---z branchB


But I worry that the above strategy is not good for git's merge tracking 
and future merges. Because if we do a 'git checkout branchA; git merge 
branchB`, git will erroneously try to merge x,y,z into branchA.

I *could *create branchB2 where I re-do the original merge but then just `git 
checkout z -- . ` and commit that as the merge commit. That would work well 
for the git merge tracking. Then I would keep branchB just as historical 
reference for "who fixed what conflict and why" during the merge.


The above would all work, but it seems so un-git-like. It feels like there 
must be a much better and established practice, yet I have not found 
anything online. Is there a better way to do this?

Thanks,
Steve

p.s. I'm aware of answers like "Your workflow is broken, with git you merge 
often and therefore never have lots of conflicts." It's just too long a 
discussion to argue that point, so let's just avoid it, ok.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to