title: Why does Git not automatically fast forward?
body: <p>When I do git pull, add, commit, push, this happens</p>
  
  <pre><code> ! [rejected]        master -&gt; master (non-fast-forward)
  error: failed to push some refs to 'http://foo:8080/tfsdev/foo/_git/Development.Services'
  hint: Updates were rejected because the tip of your current branch is behind
  hint: its remote counterpart. Integrate the remote changes (e.g.
  hint: 'git pull ...') before pushing again.
  hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  </code></pre>
  
  <p>when I add -ff to git pull, it goes through. 
  I thought fastforward was default, why would this happen?</p>