title: Mercurial undo three hg push
body: <p>I'm using mercurial VCS, I've mistakenly pushed three commits and I want them to be undone, can this be achieved?
  I'm pretty sure no changes were propagated to anyone from the repository I pushed to, so I'm confident that this won't break anyones code...</p>
  
  <p>I've tried hg rollback but since I have pushed I cannot undo anything in the right way. Also I know about hg backout, but I'm not sure if I should use this one for what I need...</p>
  
  <p>Thanks!</p>
  
  <p>EDIT</p>
  
  <p>This is the graph log, I forgot to mention that some commits were part of a merge, but they too need to be undone...</p>
  
  <pre><code>tip
  |
  a
  | \
  |   b
  | /
  c
  |
  d
  </code></pre>
  
  <p>I need to return the tip to c, or d if there is no other way to prevent that because of the merge...</p>