RPC failed; curl 55 OpenSSL SSL_write: SSL_ERROR_ZERO_RETURN, errno 10053. fatal: the remote end hung up unexpectedly

One of the reasons for this to happen is that you might have a large file inside your commit that is failing to be pushed eventually hanging with “fatal: the remote end hung up unexpectedly”.

If you can confirm that the issue is indeed with a large file then you should use git lfs but note that git lfs will intercept large files tracked and upload it on its own server:

  1. Install Git Large File Storage: https://git-lfs.github.com
  2. For example on MacOS:
brew install git-lfs

If that fails then:

brew install --build-from-source git-lfs
  1. git-lfs has a lot of dependencies( go, libyaml, openssl@1.1, readline and ruby) so it might take a while to install. You can also install from binary by running the ./install.sh.
  2. Once installed you can track all large files for example in the docs:
git lfs track "*.psd"
  • Your tracked files’ details are saved inside a .gitattributes so make sure to add .gitattributes to persist tracking when other users clone the project:
git add .gitattributes

That’s it! You should then be able to safely add, commit and push!

git add file.psd
git commit -m "Add design file"
git push origin main

By default the large files will be kept on disk locally and not be pushed remotely i.e. only the pointers are pushed. You can push it to the endpoint (git lfs env to find the endpoint) e.g. github by using the following command.

git lfs push --all <remote e.g. origin>

If you are still having trouble feel free to comment however I don’t guarantee that I have the answer. Git lfs is best used with Bitbucket read more here: https://www.atlassian.com/git/tutorials/git-lfs