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 url=git@github.com:yourname/yourrepo.git
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-lgs 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=https://github.com/yourname/yourrepo.git
Note that http urls currently only allow read access to the git-lfs repository.