On Wed, Jul 22, 2020 at 07:50:08AM +0200, Johannes Sixt wrote: > Am 22.07.20 um 01:29 schrieb B. Stebler: > > I have been looking for a tool to display merge conflicts, that instead > > of showing the two versions of the conflicting section, would show the > > diff for that section in both conflicting commits. > > Perhaps you want to configure `merge.conflictStyle=diff3`? It does not > exactly show a diff, but it writes the base version of the conflicted > part in addition to "ours" and "theirs". Yeah, I find diff3 is usually sufficient. But the contents of the base, "ours", and "theirs" sides are also available in the index: # diff between base (stage 1) and ours (stage 2) git diff :1:file :2:file # diff between base (stage 1) and theirs (stage 3) git diff :1:file :3:file I thought we had added nice aliases for "ours" and "theirs" instead of the hard-to-remember stage numbers, but I think we only did so for things like "git checkout --ours", etc. The big downside here, of course, is that it's showing the diff for the whole file, not just one hunk (on the other hand, I often find the trickiest conflicts are ones where the changes unexpectedly span multiple hunks). There's also git-mergetool, which uses the information in those stages to feed content to other tools, which may show conflicts in more advanced ways. I don't have opinions on any of the particular tools it supports, but "git mergetool --tool-help" might be a good place to start exploring. -Peff