title: Git: Equivalent of repair move from SVN
body: <p>I sometimes modify class names in Java. This results in me requiring to modify the filename as well. </p>
  
  <p>To maintain the history of the files in SVN I use a tool with TortoiseSVN called Repair Move. </p>
  
  <p>In the Check for Modifications view you select two files, one missing and one unversioned. When you right click on one of them there is an option to Repair Move. </p>
  
  <p>This deletes the old file in SVN and adds the new file while attaching the history of the old file. That way when you svn log you can see the entire history since before the filename change. </p>
  
  <p>Does git have an equivalent command? From the workflow that I've read it seems I should do the following:</p>
  
  <pre><code>git mv &lt;old filename&gt; &lt;new filename&gt;
  # Make the class name changes to reflect the filename change. 
  git commit -a -m "Changed filename from Foo.java to Bar.java"
  </code></pre>
  
  <p>This seems like a long way to do things. </p>
  
  <p>I thought I would be able to use<code>git mv</code> once I had moved the file manually and made changes to the file itself. It seems that <code>git mv</code> is just a wrapper for the <code>mv</code> command along with adding the change to git. </p>
  
  <p>Is there a way to notify git of a moved file after the move has happened? </p>