title: Why doesn't git understand my folder move operations?
body: <p>Usually when I rename/move a file in git, <a href="https://code.google.com/p/gitextensions/" rel="nofollow noreferrer">git extensions</a> shows it as a rename operation after the file is staged. Other SO questions like <a href="https://stackoverflow.com/questions/2641146/handling-file-renames-in-git">this one</a> indicate that this should happen automatically regardless of whether I use <code>git mv</code> or regular moves. However, I did a large-scale reorganization today in preparation for a <code>git subtree split</code> (basically there was a <code>Src</code> folder that I split into <code>Core</code> and <code>Main</code>, and for the record I used Windows Explorer to move the folders, not <code>git mv</code>). When I staged the changes (only a few project files changed, none of the source code), almost all of the changes appeared as add+remove rather than renames. I hoped this was just a glitch in Git Extensions, but when I pushed to github it wasn't any beter. You can see the mess here:</p>
  
  <p><a href="https://github.com/qwertie/Loyc/commit/3eb4bd9dbe3d0023858659cb96e860921f0819e3" rel="nofollow noreferrer">https://github.com/qwertie/Loyc/commit/3eb4bd9dbe3d0023858659cb96e860921f0819e3</a></p>
  
  <p>After I performed a local <code>git subtree split --prefix=Core -b core</code> and pushed to another local repo, it appeared that the history of all files in the <code>Core</code> folder had been lost.</p>
  
  <p>What's going on? Is there a way to preserve the history of all these moved files?</p>
  
  <pre><code>&gt; git version
  git version 1.8.3.msysgit.0
  </code></pre>