git-annex can store data in git-lfs repositories, using the git-lfs special remote.

You do not need the git-lfs program installed to use it, just a recent enough version of git-annex.

Here's how to initialize a git-lfs special remote on Github.

git annex initremote lfs type=git-lfs encryption=none

In this example, the remote will not be encrypted, so anyone who can access it can see its contents. It is possible to encrypt everything stored in a git-lfs remote, see fully encrypted git repositories with gcrypt.

Once the git-lfs remote is set up, git-annex can store and retrieve content in the usual ways:

git annex copy * --to lfs
git annex get --from lfs

But, git-annex cannot delete anything from a git-lfs special remote, because the protocol does not support deletion.

A git-lfs special remote also functions as a regular git remote. You can use things like git push and git pull with it.

To enable an existing git-lfs remote in another clone of the repository, you'll need to provide an url to it again. It's ok to provide a different url as long as it points to the same git-lfs repository.

git annex enableremote lfs url=