git-cram --everything-is-local-(except-big-stuff)

git-cram is a git extension designed to minimise wire traffic for repositories containing large-ish binary files that change often.

However, it does not reduce the overall size of the repository on the server. Other projects (such as git-annex) may be of more use if that is your requirement.

On the plus side, git-cram is ridiculously simple to set up, and implemented purely with git client-side hooks and smudge/filter scripts. It will work with git 1.8.2+ on the client and requires no special knowledge or modification on the server, so should work with any Bitbucket, Stash, Github or other hosted Git repository.

To install, simply run this script from the repository of your choice:

sh <(curl -s

Feedback, bug-reports & pull requests are very welcome! Please see: