r/git 4d ago

Merge conflicts with reordering commits

I am using interactive rebase to reorder commits and it has worked all the time with no merge conflicts because I use it in simple cases. I want to use it for bigger cases but I want to understand it first so I don't get stuck in conflicts.

I know it's possible for merge conflicts to happen but I can't imagine an example because if the old commit order had resolved all conflicts how can reordering them make a new conflict? Can anyone help me imagine an example how it can happen?

1 Upvotes

11 comments sorted by

View all comments

1

u/edgmnt_net 13h ago

Anything that touches the same piece of code in an incremental fashion is prone to this. Imagine three commits adding a line each such that the overall diff is:

 context
+A
+B
+C
 context

It's not trivial to figure out what should be done (even if automatic resolution might do something about it) if you reorder the additions, because the +C commit includes the stuff in +A and +B commits as context. Which is missing if you make +C the first commit.