Provided by: git-annex_8.20210223-2ubuntu2_amd64 bug


       git-annex-config - configuration stored in git-annex branch


       git annex config --set name value

       git annex config --get name

       git annex config --unset name


       Set or get configuration settings stored in the git-annex branch.

       Unlike  git  config  settings, these settings can be seen in all clones of the repository,
       once they have gotten their git-annex branches in sync.

       These settings can be overridden on a per-repository basis using git config.

       git-annex does not check the git-annex branch for all the git config settings that  affect
       it  (which  are  listed  on the git-annex man page CONFIGURATION section). Only a few make
       sense to be able to set such that all clones of a repository see the setting, and so  git-
       annex only looks for these.



              Used  to configure which files are large enough to be added to the annex.  It is an
              expression that matches the large files, eg "include=*.mp3  or  largerthan(500kb)".
              See git-annex-matching-expression(1) for details on the syntax.

              This  sets  a  default,  which  can be overridden by annex.largefiles attributes in
              .gitattributes files, or by git config.

              Normally, dotfiles are assumed to be files like .gitignore,  whose  content  should
              always  be  part  of  the  git  repository, so they will not be added to the annex.
              Setting annex.dotfiles to true makes dotfiles be added to the annex the same as any
              other file.

              This sets a default, which can be overridden by annex.dotfiles in git config.

              Commands  like  git-annex  add  default to adding files to the repository in locked
              form. This can make them add the files in  unlocked  form,  the  same  as  if  git-
              annex-unlock(1) were run on the files.

              This  can  be  set  to  "true"  to  add  everything  unlocked,  or it can be a more
              complicated expression that matches files by  name,  size,  or  content.  See  git-
              annex-matching-expression(1) for details.

              This sets a default, which can be overridden by annex.addunlocked in git config.

              Set   to  false  to  prevent  the  git-annex  assistant  and  git-annex  sync  from
              automatically committing changes to files in the repository.

              Set  to  false  to  prevent  merge  conflicts  in  the  checked  out  branch  being
              automatically  resolved by the git-annex assitant, git-annex sync, git-annex merge,
              and the git-annex post-receive hook.

              Set to true to make git-annex sync default to syncing annexed content.

              Set to true to make git-annex sync default to only sincing the git-annex branch and
              annexed content.

              Set  to  true  to  indicate  that  the repository should only use cryptographically
              secure hashes (SHA2, SHA3) and not insecure hashes (MD5, SHA1) for content.

              When this is set, the contents of files  using  cryptographically  insecure  hashes
              will not be allowed to be added to the repository.

              Also,  git-annex  fsck will complain about any files present in the repository that
              use insecure hashes.

              Note that this is only read from the git-annex branch by git  annex  init,  and  is
              copied  to  the  corresponding git config setting.  So, changes to the value in the
              git-annex branch won't affect a repository once it has been initialized.


       Suppose you want to prevent git annex sync from committing changes to files, so  a  manual
       git commit workflow is used in all clones of the repository. Then run:

        git annex config --set annex.autocommit false

       If you want to override that in a partiticular clone, just use git config in the clone:

        git config annex.autocommit true

       And to get back to the default behavior:

        git annex config --unset annex.autocommit






       Joey Hess <>