A third-party extension to Git that gives it features of a lazy, distributed file system and allows tracking huge binary files without special hardware demands.
Pro Large files can be kept off-site until needed
Git-annex doesn't necessarily store all content everywhere you use the repository. Instead, you can check out only the files you need right now. Git-annex figures out automatically from which remote to fetch files when you do need them. This doesn't require a server, the files can also be on some USB hard drives, in which case Git-annex will tell you which drive you need to connect to get a particular file.