title: Merge commits don't appear in git rebase --interactive
body: <p><code>git log</code> reveals the following:</p>
  
  <pre><code>commit 1abcd[...]
  Author: [...]
  Date: [...]
  
      [Useful commit]
  
  commit 2abcd[...]
  Author: [...]
  Date: [...]
  
      Merge branch [...] of [etc. etc.]
  
  commit 3abcd[...]
  Author: [...]
  Date: [...]
  
      [Useful commit]
  </code></pre>
  
  <p>That merge commit is useless to me - it doesn't represent a meaningful state of the branch and was generated from a remote pull, so I have the real commits of the remote history - no need for a commit to mark the fact that I pulled. I would like to squash this merge commit. My usual technique for doing a squash is:</p>
  
  <p><code>git rebase --interactive HEAD~2</code> (or however far back I need to go)</p>
  
  <p>And then I would squash it into a neighboring commit. I do this some times if for example I make a commit, realize I missed a tiny important detail (single file, or hadn't changed a line in one of the files), and do another commit that's basically just a quick oops. That way when I push my changes back to the remote, everything is nice and clean and tells a cohesive narrative. </p>
  
  <p>However, in this case, when I run the <code>git rebase ...</code> command, commit <code>2abcd</code> doesn't appear! It seems to skip right over <code>2abcd</code> and instead displays <code>1abcd</code> and <code>3abcd</code>. Is there something special about a merge commit that prevents it from being appearing in <code>git rebase --interactive</code>? What other technique could I use to squash that merge commit?</p>
  
  <p><strong>UPDATE</strong> per @Cupcake's request:</p>
  
  <p>The output of <code>git log --graph --oneline --decorate</code> looks like this:</p>
  
  <pre><code>* 1abcd (useful commit)
  * 2abcd (merge)
  |  \ &lt;-- from remote
  |   * 3abcd (useful commit)
  |   |
  </code></pre>
  
  <p>Helpful?</p>