title: Why does git merge sometimes create a commit, sometimes does not?
body: <p>When I do <code>git merge</code> from another branch to current workspace, git sometimes makes a new commit:</p>
  
  <pre><code>Merge remote-tracking branch xxx into xxx
  </code></pre>
  
  <p>Sometimes, it does not:</p>
  
  <pre><code>Fast-forward
  ... src files ...
  </code></pre>
  
  <p>So what determines whether a commit should be created or not?</p>