git-annex es un sistema distribuido de sincronización de archivos escrito en Haskell . Su objetivo es resolver el problema de compartir y sincronizar colecciones de archivos grandes independientemente de un servicio comercial o incluso de un servidor central.
El desarrollo de git-annex comenzó en 2010. [2] En 2012-13, el desarrollo se financió a través de una campaña de Kickstarter . [3] El principal desarrollo de esta campaña fue el asistente git-annex, un componente que se ejecuta en segundo plano para automatizar la sincronización de repositorios.
La siguiente campaña de financiación colectiva para 2013-2014 se organizó a través de una plataforma autohospedada. [4]
git-annex usa Git para indexar archivos pero no los almacena en el historial de Git. En su lugar, se confirma un enlace simbólico que representa y enlaza con el archivo probablemente grande. git-annex administra un almacenamiento direccionable por contenido para los archivos bajo su control. Una rama de Git separada registra la ubicación de cada archivo. Por lo tanto, los usuarios pueden clonar un repositorio git-annex y luego decidir para cada archivo si desea que esté disponible localmente.
Los paquetes git-annex están disponibles para una variedad de sistemas operativos, que incluyen: [5]