title: Git push complaining about non-fast-forward, even though remote has been pulled
body: <p>I'm trying to push my changes to a repo on my NAS.  It's failing in a way I don't understand.</p>
  
  <p>The <a href="http://www.kernel.org/pub/software/scm/git/docs/git-push.html#_note_about_fast_forwards" rel="nofollow">documentation</a> states that by default <code>push</code> works only with fast-forward updates. Fair enough.  So I do a <code>git pull</code> (my remote is called <code>rubix</code>):</p>
  
  <pre>
  D:\RoboCup\Dev\TinMan>git pull rubix master
  From ssh://rubix/volume1/git/TinMan
   * branch            master     -> FETCH_HEAD
  Already up-to-date.
  </pre>
  
  <p>All looks well.  Let's try pushing...</p>
  
  <pre>
  D:\RoboCup\Dev\TinMan>git push rubix master
  To ssh://dnoakes@rubix/volume1/git/TinMan
   ! [rejected]        master -> master (non-fast-forward)
  error: failed to push some refs to 'ssh://dnoakes@rubix/volume1/git/TinMan'
  To prevent you from losing history, non-fast-forward updates were rejected
  Merge the remote changes before pushing again.  See the 'Note about
  fast-forwards' section of 'git push --help' for details.
  </pre>
  
  <p>I've read through the documentation on <code>git push</code> but at this point I can't understand why I'm seeing this problem.</p>
  
  <p>Here is some other contextual info:</p>
  
  <pre>
  D:\RoboCup\Dev\TinMan>git --version
  git version 1.7.0.2.msysgit.0
  
  D:\RoboCup\Dev\TinMan>git branch
  * (no branch)
    master
  </pre>
  
  <p>That last line looks suspect.  How can I not be on any branch?  Note too that I have some untracked files and modifieds (unstaged) changes too.</p>
  
  <p>Any help would be greatly appreciated.  Thanks.</p>