title: Revert a commit on remote branch
body: <p>I've worked on a local branch adding many commits.<br>
  Then i've pushed it to the <code>remote staging</code> branch.  </p>
  
  <p>Now I have to undo the last commit already pushed to <code>remote staging</code> that is the merge of my local branch to <code>remote staging</code></p>
  
  <p>What I've understood looking on the other answers is that I have to use revert and not reset to do it in a clean way, isn't it?</p>
  
  <p>So what I have to do is:</p>
  
  <ol>
  <li>create a new local branch called for example <code>cleaning</code> having <code>master</code> as parent (that is behind staging)</li>
  <li>pull the remote <code>staging</code> into cleaning</li>
  <li>use <code>git revert {last good commit hash in staging}</code></li>
  <li>now <code>cleaning</code> should be in the good commit and in the same state of <code>remote staging</code> before my bad push, isn't it?</li>
  <li>now I should push <code>cleaning</code> into <code>remote staging</code> to having the remote branch reverted. With which flags?</li>
  </ol>
  
  <p>Am I correct? Because <code>git status</code> being at point 4 tells me that i'm up to date with <code>staging</code> </p>