When two commits have changed the same part of a file, Git will not be able to automatically merge the changes.
This is called a merge conflict.
Where the base
(point of diversion) matters. If the head
of the main branch
has modifications on a file that the feature branch
also has modifications on, the base
is the last commit that both branches have in common.
So when you merge the feature branch into the main branch, Git will compare the base
with the feature branch and again, base
with the main branch.
If the same part of the file has been modified in both branches, Git will not be able to automatically merge the changes.