I will be honest, I know very little about the internals of git.
I have staged and commit a 40mb directory, but when I come to push...
$ git push --v
Probably your credentials. Use the git+ssh protocol instead of https.