Recently on GitHub there was a pleasant news about the announcement of storage for large files:
“We are pleased to present Git Large File Storage (LFS) as a more practical way of working with large binary files, such as audio files, graphics, video, etc.in git. Git LFS is a new open source extension that replaces large files with text links in Git, while the contents of the files are stored on remote servers as GitHub.com or GitHub Enterprise ” - GitHub.com
about the project
The Git LFS project is a collection of filters and hooks that handle large files instead of storing directly in Git. LFS tracks Git operations with large files through clean and smudge filters, as a result, files are not sent to the remote git repository, but are automatically saved on a third-party server using the LFS API, files are also automatically loaded when loading a branch from a remote git repository . ')
You can read more about what clean and smudge filters are in the official Git tutorial.
How it works
Need to download and install an extension for Git from here .
Select the type of files to store in LFS (or directly edit .gitattributes):
git lfs track"*.psd"
Then you can work as usual in Git: first add, then commit and push. Like that: