manage files with git, without checking their contents into git

Version on this page:6.20170520
LTS Haskell 22.9:10.20231129
Stackage Nightly 2023-12-26:10.20231129
Latest on Hackage:10.20240531

See all snapshots git-annex appears in

GPL-3.0-only licensed by Joey Hess
Maintained by Joey Hess
This version can be pinned in stack with:git-annex-6.20170520@sha256:045d11aa085b6f5e689b12f1f79d42e350c44700994835d6f6cdee5338148f3b,27231

Module documentation for 6.20170520

There are no documented modules for this package.

git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space.

It can store large files in many places, from local hard drives, to a large number of cloud storage services, including S3, WebDAV, and rsync, with a dozen cloud storage providers usable via plugins. Files can be stored encrypted with gpg, so that the cloud storage provider cannot see your data. git-annex keeps track of where each file is stored, so it knows how many copies are available, and has many facilities to ensure your data is preserved.

git-annex can also be used to keep a folder in sync between computers, noticing when files are changed, and automatically committing them to git and transferring them to other computers. The git-annex webapp makes it easy to set up and use git-annex this way.