Manage files with Git, without checking their contents in. When a file is annexed, its content is moved into a key-value store, and a symlink is made that points to the content. More information: https://git-annex.branchable.com.
git annex init
git annex add path/to/file_or_directory
git annex status path/to/file_or_directory
git annex remote
git annex get path/to/file_or_directory
git annex help