Search code examples
gitconflictgit-merge

How can I find out which Git commits cause conflicts?


I'm merging upstream changes to my project, and recently there were a lot of commits that created a lot of merge conflicts. It doesn't make sense to try to resolve them all at once.

How can I find out which commits create a conflict? Any of the following are acceptable:

  • A way to make Git stop merging as soon as it finds a conflict
  • A way to make Git list all the commits that conflicted, in chronological order
  • Anything else that lets me resolve the conflicts one-by-one, in chronological order, that doesn't involve merging a few commits at a time hoping to stumble upon the conflicts

Solution

  • You can give git imerge a try: that will apply your commits one by one, giving you the chance to do a rebase incrementally (meaning you can start a rebase, interrupt it, resume it later!).

    You can see here a comparison between Incremental merge vs. direct merge vs. rebase.