title: git: how to see changes the next push will send
body: <p>I want to see a list of all changes the next <code>push</code> would do. <code>git status</code> seems to know that I've made local commits... how do I have it show me what those are? What I've been doing is something like this:</p>
  
  <pre><code>% git status
  # On branch master
  # Your branch is ahead of 'origin/master' by 7 commits.
  ...
  </code></pre>
  
  <p>Okay, it said <strong>7</strong> commits. So then I do</p>
  
  <pre><code>% git diff --name-status HEAD~7
  M       bin/bench
  M       scala/001/02.scala
  M       scala/007/01.scala
  A       scala/010/01.scala
  A       scala/016/01.scala
  A       scala/020/01.scala
  </code></pre>
  
  <p>Is there a more concise way to do this? I'm used to svn where "svn diff" would essentially do this, because there's no notion of staged/unstaged.</p>