title: Why do merge conflicts happen?
body: <p>For example: </p>
  
  <ul>
  <li>I have a master branch.</li>
  <li>I create a file <code>file.txt</code> and I write <code>Master branch</code> in it, and then I commit it.</li>
  <li>I create another branch called <code>fix20</code>, and modify the text of <code>file.txt</code> to <code>This is fix20 branch</code>. Then I commit it.</li>
  <li>I switch to the master branch and then I create a branch <code>hotfix</code> and switch to it.</li>
  <li>I modify <code>file.txt</code> to have the text <code>This is the HotFix</code>. After that I commit the changes.</li>
  <li>Now I switch back to the master branch and merge it with the hotfix. The file (with no problems) changes it text to <code>This is the HotFix</code> (They are basically merged)).</li>
  </ul>
  
  <p>Now I merge with the fix20 branch and I get a merging conflict. The <code>file.txt</code> has both the text from fix20 branch and the text, that I had after merging with HotFix. At this point, I should open an editor and decide, what should be left, and what should be removed.</p>
  
  <p>The question is: Why does the merging conflict happen the second time? Why didnt I decide which text to leave, when I merged the master with the hotfix? Why havent the files been merged, when I merged with fix20 branch (why the text was not just replaced as with the hotfix)? Why basically this conflict happens the second time and not the first one???</p>