title: Git: Summarize changes in a RANGE of commits
body: <p>Suppose I have the following git repo, in which a file was added in commit #2 and removed in commit #3:</p>
  
  <pre><code>commit de36dee94ab54ab61dd2c6e9164756c1a608bd13 (HEAD -&gt; master)
  Author: Keith &lt;keith&gt;
  Date:   Tue Sep 25 09:57:45 2018 -0500
  
      #3
  
   foo.txt | 1 -
   1 file changed, 1 deletion(-)
  
  commit 1fddf03367b9e2e4b65f96f4fc5db7d7d353f50c
  Author: Keith &lt;keith&gt;
  Date:   Tue Sep 25 09:57:37 2018 -0500
  
      #2
  
   foo.txt | 1 +
   1 file changed, 1 insertion(+)
  
  commit 4ab9494db091077879a74a47f83fe568a7efd133
  Author: Keith &lt;keith&gt;
  Date:   Tue Sep 25 09:57:23 2018 -0500
  
      #1
  
   README.md | 1 +
   1 file changed, 1 insertion(+)
  </code></pre>
  
  <p>Now suppose I'm interested in a summary of changes made in the <em>range</em> of commits #1-#3.
  If I simply do <code>git diff HEAD 4ab9494db</code>, I will get no output since the repo is at the same state at the start and end; I'll never see that there was a file <code>foo.txt</code> that appeared and disappeared in that time frame. I could also do <code>git log --stat</code> as above, but assuming this was a much larger repo with a much longer history, that could get rather cumbersome.</p>
  
  <p>Is there a way to get a succinct summary of all files changed, even if one change "cancels out" the other?</p>