title: Is it possible to move/rename files in Git and maintain their history?
body: <p>I would like to rename/move a project subtree in Git moving it from</p>
  
  <pre><code>/project/xyz
  </code></pre>
  
  <p>to </p>
  
  <pre><code>/components/xyz
  </code></pre>
  
  <p>If I use a plain <code>git mv project components</code>, then all the commit history for the <code>xyz project</code> gets lost. Is there a way to move this such that the history is maintained?</p>