git add my-binary-file
git commit
git push
Will add your binary file; it is automatic.
Indeed, if you have 100 versions of your file it will store it (but compressed).
You can use submodules to make references to other repositories.
Git uses a heuristic to try to determine if a file is a binary. See this article for more information and how to force git to treat a given file as a binary.
For good tutorial on submodules see here and here.
I had essentially the same problem: I wanted to git pickle files, which are binary, but git thinks they're text.
I found this chapter on Git Attributes in the Pro Git Book. So I resolved my issues by creating a .gitattributes
file with this line:
*.pickle binary