From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Original author(s)Joey Hess
Initial release19 October 2010; 8 years ago (2010-10-19)
Stable release
6.20160318 / 18 March 2016; 3 years ago (2016-03-18)
Repository Edit this at Wikidata
Written inHaskell
Operating systemLinux, FreeBSD, Android, OS X, Windows
Size44.2 MB
TypeFile synchronization
LicenseGPL3+, AGPL3+ [1]

git-annex is a distributed file synchronization system written in Haskell. It aims to solve the problem of sharing and synchronizing collections of large files independent from a commercial service or even a central server.


git-annex development began in 2010.[2] In 2012/13 the development was funded through a kickstarter campaign.[3] The main development of this year was the git-annex assistant. This component runs in the background to automate the synchronization of repositories.

The next crowd funding campaign for 2013/14 was organized over a self hosted platform.[4]


git-annex uses git to index files but does not store them in the git history. Instead a symbolic link representing and linking to the probably large file is committed. git-annex manages a content-addressable storage for the files under its control. A separate git branch logs the location of every file. Thus users can clone a git-annex repository and then decide for every file whether to make it locally available.


git-annex is available[5] many ways and notably part of the following distributions

See also[edit]


  1. ^ "license". 18 January 2014. Retrieved 1 May 2015.
  2. ^ "git-annex roadmap".
  3. ^ "git-annex kickstarter campaign 2012".
  4. ^ "git-annex campaign".
  5. ^ "install options".
  6. ^ "Debian".
  7. ^ "Ubuntu".
  8. ^ "Fedora".
  9. ^ "FreeBSD".
  10. ^ "ArchLinux". Retrieved 2015-12-06.

External links[edit]