Git Git Diff Viewing a three-way merge including the common ancestor


Example

git config --global merge.conflictstyle diff3

Sets the diff3 style as default: instead of the usual format in conflicted sections, showing the two files:

<<<<<<< HEAD
left
=======
right
>>>>>>> master

it will include an additional section containing the original text (coming form the common ancestor):

<<<<<<< HEAD
first
second
||||||| 
first
=======
last
>>>>>>> master

This format makes it easier to understand merge-conflict, ie. in this case locally second has been added, while remote changed first to last, resolving to:

last
second

The same resolution would have been much harder using the default:

<<<<<<< HEAD
first
second
=======
last
>>>>>>> master