title: Why do i get "error: failed to push some refs"?
body: <p>I have a remote git repository and a local one that i work with. Whenever i do any changes locally, i push them to the remote. Then i sometime do a "git commit" on the remote one to store the changes on the remote files.</p>
  
  <p>I do not edit the remote repository directly at all. I just commit the changes. And i'm a single developer, no one else works on that repos.</p>
  
  <p>Why do i get an error that, from what i know, means that i have to pull first ?</p>
  
  <p>I don't want to pull because the remote repos files are outdated and it will lose my local changes. This is really annoying, why does this happen ? And how can i fix without having to pull or recreate the repository ? (as you can see, this is sort of like a subversion type of version control style here)</p>
  
  <p>EDIT - The error :</p>
  
  <pre><code>To ssh://...
   ! [rejected]        master -&gt; master (non-fast-forward)
  error: failed to push some refs to 'ssh://...'
  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>