title: different result from git log and git rev-list
body: <p>I am trying to get commits that exist in branch A, but does not exist in branch B. I thought these two commands will give me the same result, but they don't. </p>
  
  <pre><code>git rev-list A ^B --no-merges | wc -l
  git log A ^B --no-merges | wc -l
  </code></pre>
  
  <p>The first one gives me 370, while <code>log</code> returns 8000. What is the difference between these two? </p>