title: Git: Undoing rewrite of history?
body: <p>I have a problem with the following situation: </p>
  
  <ul>
  <li>several commits are pushed to a remote (our codereview system)</li>
  <li>developer has rewritten history (edited some commit during a rebase) locally</li>
  <li>when attempting to push again, codereview does not accept it (as this change can already haved passed review)</li>
  </ul>
  
  <p>How can I 'reset' a -single- commit to what is in this remote?</p>
  
  <p>The modified commit is not always HEAD, so I cannot simply do 'git reset --hard HEAD^ &amp;&amp; git pull'.</p>
  
  <p>edit:</p>
  
  <p>Preferably the diff between the two versions are created as a new commit, but it is not really a necessity.</p>