title: Resetting my last commit undoing many commits
body: <p>My local branch has two commits. One is a small commit where one file was changed. The other is a merge where many files have changed. I'd like to undo both commits ending up with the third commit back in my branches history. </p>
  
  <p>This is what I tried:</p>
  
  <pre><code>git reset --hard HEAD^
  </code></pre>
  
  <p>This goes back 1 commit. When I run it again, the expected behavior is to go back one more commit. However, when running this command when the last commit was a merge it seems to also undo the last ~10 commits as well. Why is this? Is there a way to undo the merge commit without touching any additional commits?</p>