Revert a commit on remote branch : <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>
