git-annex allows managing files with git, without checking the file contents into git. It is useful when dealing with files larger than git can currently easily handle. The contents can be stored locally or in various remote repositories; git-annex tracks which contents is stored where.