title: Why do I have to --force my git commits
body: <p>i have several git repositories set up and everytime i setup a new one and i do the first commit and push, this command fails <code>git push origin master</code> and i get some error about how it failed to push some refs.</p>
  
  <pre><code>----@--------- /c/git/repo/---- (master)
  $ git push origin master
  --------------------------------
  --------------------------------
  To -----------------------------
   ! [rejected]        master -&gt; master (non-fast-forward)
  error: failed to push some refs to 'https://github.com/-----/----.git'
  To prevent you from losing history, non-fast-forward updates were rejected
  Merge the remote changes (e.g. 'git pull') before pushing again.  See the
  'Note about fast-forwards' section of 'git push --help' for details.
  </code></pre>
  
  <p>however if i do a <code>git push --force origin master</code> it works, why is that and why do i have to do it everytime?</p>