I followed VonC's advice:
git config --global http.postBuffer 524288000
For future references, based on comments:
500 MB: 524288000 (as posted in the original answer)
1 GB: 1048576000
2 GB: 2097152000 (anything higher is rejected as 'out of range')
This was happening because of huge, unignored file in the repo directory. Whoops.
EDIT
The hang was because the file was taking a long time to upload. The file wasn't supposed to have been included in the push.
EDIT
While it's true that a huge file could be the reason behind this issue, if you can't ignore the file in question or just have to push it then follow this answer.
I had the same problem with (writing objects %16) stuck then fatal. I solved this by saving the current changes and clone a new repository, then copy the modified files into it.
Eg. Assume current repository is A, then all you need to do is:
mv A B
git clone A
mv B/* A/
rm -rf B
Then commit and push and it all worked fine. It recognized the moved files as modified :)
In my case, I was using a git folder with bad rights stored on the same drive as a repo, but it could be the same with ssh even if you use an authorized login user.
Check then if you have correct rights to write on the distant repo.
Example:
Init local and distant repo
git init /tmp/src
git init --bare /tmp/dst
cd /tmp/src
Adding remote repo to origin
src > git remote add dest /tmp/dst
Simulating problem
src > chmod -R 555 /tmp/dst
Adding fake file and pushing it
src > touch a && git add a && git commit -m 'demo'
src > git push --set-upstream dest master
src > git push
Counting objects: 3, done.
Writing objects: 99% (2/3), 202 bytes | 0 bytes/s.
Git hangs
Solution
src > chmod -R 775 /tmp/dst
In my situation it was the size of the file. By adding an .gitignore file with the required extensions I was able to ignore most of the unwanted files to be pushed.
In my case I was having slow internet upload speed and the file I wanted to push was big, the trick is to use git LFS (large file storage) that is much more patient to upload big files, you can find a git LFS tutorial here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With