title: Git lists same file modified and not staged for commit?
body: <p>For some reason Git is telling me I have a file which is both "to be committed" and also "not staged for commit"? This doesn't make sense:</p>
  
  <pre><code>% git status 
  # On branch master
  # Changes to be committed:
  #   (use "git reset HEAD &lt;file&gt;..." to unstage)
  #
  #   modified:   Dir1/Dir2/filename.cpp
  #
  # Changes not staged for commit:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #   modified:   Dir1/Dir2/filename.cpp
  </code></pre>
  
  <p><code>Dir1</code>, <code>Dir2</code> and <code>filename.cpp</code> are definitely all the same file. I had to add <code>filename.cpp</code> back again to  get it to appear as a change to be committed (after it was originally in the repository). About the only thing that may have caused the problem was that I stashed, <code>pull --rebase</code>, then popped the <code>stash</code>? <code>.gitignore</code> does not list <code>Dir1</code>, <code>Dir2</code> or <code>filename.cpp</code> anywhere and the patterns don't suggest they would catch this file?</p>