title: Is there a `git log` summary that includes merge (only) and non-merge commits?
body: <p>I don't mean simply <code>git log</code>, I know that lists everything.  I'm looking for a summary.</p>
  
  <p>I'm not sure if this is the best practice or not, but I use both merge and squash style commits with git.  If a change is small and straight-forward, I don't see why it needs a merge commit, the commit is already atomic.  On the other hand, sometimes adding a logical function to code consists of multiple atomic steps, and I tend to use merge in this case, to avoid squashing multiple steps together.</p>
  
  <p>What I'm wondering is if there is a good way to summarize this in the log.  That is, can I list only the merge commit (if and only if it is a merge commit) and otherwise list the non-merge commit?  This is tied to editing the merge commit so it describes what feature is being added, of course.</p>
  
  <p>It seems like the <code>git log --merges</code> is close, but it doesn't list the squashed commits, so is an incomplete history.</p>
  
  <p>[edit based on comment about rebasing] I was thinking my question applied to both git and github, but the question from one of the comments made me realize it doesn't exactly.  Github allows you to merge a pull request or squash it (it also allows rebasing a commit, but that is off-topic I think).  Merging a Pull Request results in a merge commit with the set of commits in the pull request, while a <code>Squash commit</code> is basically the same as cherry-picking the commit into the target branch (or squashing if there are more than one commit in the PR).</p>