What are the reasons and cases that cause git merge conflicts? : <ol>
<li><p>What are </p>

<ul>
<li><p>the necessary and sufficient conditions, and/or</p></li>
<li><p>all the cases or some common cases </p></li>
</ul>

<p>that can cause  <code>git merge</code> report merge conflict?</p>

<p>How does <code>git merge</code> determine whether a line or some lines contain
merge conflict(s)?</p></li>
<li><p>For example, I sometimes see cases like the following, where either
<code>Part 1</code> or <code>Part 2</code> is empty in </p>

<pre><code>&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD
(Part 1)
=======
(Part 2)
&gt;&gt;&gt;&gt;&gt;&gt;&gt; some-other-branch
</code></pre>

<p>It looks unlikely to have a merge conflict to me. So what are some possible reasons that 
cases like that have merge conflicts?</p></li>
<li><p>Comparing  the merge conflicts reported by <code>git merge</code>  and the
differences reported by <code>git diff</code>,  is it correct that </p>

<ul>
<li><p>the differences reported by <code>git diff</code> might not necessarily be in the places of the merge conflicts reported by <code>git merge</code>, and</p></li>
<li><p>the merge conflicts reported by <code>git merge</code> might not necessarily be in the places of the differences reported by <code>git
diff</code>?</p></li>
</ul></li>
</ol>

<p>Thanks.</p>
