title: How to discard changes that are already pushed to remote?
body: <p>I have found a couple of similar questions, and answers but those are only concerned about local commits (and answers sometimes say do not do this after sharing changes). </p>
  
  <p>I have the following: </p>
  
  <pre><code>A-B-C-D-E (HEAD)
          ↑
        master = origin/master
  </code></pre>
  
  <p>What I want is this: </p>
  
  <pre><code>    someBranch
          ↓
      C-D-E (HEAD)
     /
  A-B-F
      ↑
  master = origin/master
  </code></pre>
  
  <p>Where F can be a commit saying that master has been reset there. Basically I want to undo the changes in C, D and E. but I don't care the reset is visible in the repository. </p>
  
  <p>If this is not possible what are my closest alternatives? </p>
  
  <p><em>Edit:</em> To be clear: I am not the only one working on the project.</p>