title: Using Git, show all commits that exist *only* on one specific branch, and not *any* others
body: <p>Given a branch, I'd like to see a list of commits that exist <strong>only</strong> on that branch.  In <a href="https://stackoverflow.com/questions/1710894/using-git-show-all-commits-that-are-in-one-branch-but-not-the-others">this question</a> we discuss ways to see which commits are on one branch but not one or more specified other branches.  </p>
  
  <p>This is slightly different.  I'd like to see which commits are on one branch but not on <strong>any</strong> other branches.</p>
  
  <p>The use case is in a branching strategy where some branches should only be merged to, and never committed directly on.  This would be used to check if any commits have been made directly on a "merge-only" branch.</p>
  
  <p>EDIT: Below are steps to set up a dummy git repo to test:</p>
  
  <pre><code>git init
  echo foo1 >> foo.txt
  git add foo.txt
  git commit -am "initial valid commit"
  git checkout -b merge-only
  echo bar >> bar.txt
  git add bar.txt
  git commit -am "bad commit directly on merge-only"
  git checkout master
  echo foo2 >> foo.txt 
  git commit -am "2nd valid commit on master"
  git checkout merge-only 
  git merge master
  </code></pre>
  
  <p>Only the commit with message "bad commit directly on merge-only", which was made directly on the merge-only branch, should show up.</p>