title: git push is very slow for a branch
body: <p>We have a git repo that is quite large (ios app resources). I appreciate that git is going to be slow when working with it, but if I create a new branch and edit a couple of files (not binary ones) and push, it takes forever.</p>
  
  <p>It feels like the entire repo is being pushed. I was under the impression that git would only send the diff, is that wrong? (I know git stores compressed versions of the whole file, I mean the diff between my branch and where I branched from).</p>
  
  <p>If I run <code>git diff --stat --cached origin/foo</code> then I see a short list of files that looks like what I would expect, e.g. <code>34 files changed, 1117 insertions(+), 72 deletions(-)</code>. But when I push it gets to <code>Writing objects:  21% (2317/10804)</code> and grinds to a halt, as if it's pushing all 2.4GB of binary data.</p>
  
  <p>Am I missing something (I've googled it pretty hard)? Is this the expected behaviour? I'm using git 2.2.2 on OS X (Mavericks), and ssh (git@github.com).</p>
  
  <p>I found a similar question here: <a href="https://stackoverflow.com/questions/15562594/git-pushing-a-remote-branch-for-a-large-project-is-really-slow">Git - pushing a remote branch for a large project is really slow</a> but no real answers.</p>