Pushing a large Git Repository can cause issues; time-outs, disconnects or general freezing tend to happen with especially large Git Repos. The best way to handle pushing those large git repos is to break the pushes down into commit chunks. Using git log
you can decide how far back and how many chunks you would like to push your entire repo up by. Just make a note of the Git commit hashes you would like to upload, then you can execute the following command with the correct commit hash.
git push origin b1b25ac79c53642c21f0354a64aa0ec12b347f33:refs/heads/master
The above will push you repo from initialization to commit b1b25ac79c53642c21f0354a64aa0ec12b347f33. It is also recommended that you specify the full master location on the remote, :refs/heads/master, as writing the shorthand version ‘:master’ may cause a refs error on the remote.
After the push has finished choose another commit hash closer to master HEAD and execute the above command with the new commit hash. Git will push from b1b25ac79c53642c21f0354a64aa0ec12b347f33 to the new commit hash.
Be aware that if you have a timeout, disconnect or any other error, you should start from scratch; the remote repo will keep the failed data and will end-up increasing the site of your remote repo and possibly cause errors on a pull.