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


       git-annex-initremote - creates a special (non-git) remote


       git annex initremote name type=value [param=value ...]


       Creates a new special remote, and adds it to .git/config.

       Example Amazon S3 remote:

        git annex initremote mys3 type=S3 encryption=hybrid datacenter=EU

       Many  different  types  of  special  remotes  are  supported by git-annex.  For a list and
       details, see <>

       The remote's configuration  is  specified  by  the  parameters  passed  to  this  command.
       Different  types  of  special  remotes need different configuration values, so consult the
       documentation of a special remote for details. The command will prompt  for  any  required
       parameters you leave out; you can also pass --whatelse to see additional parameters.

       A  few  parameters  that  are  supported by all special remotes are documented in the next
       section below.

       Once a special remote has been initialized once with this command,  other  clones  of  the
       repository can also be set up to access it using git annex enableremote.

       The  name  you  provide for the remote can't be one that's been used for any other special
       remote before, because git-annex enableremote uses the  name  to  identify  which  special
       remote  to enable. If some old special remote that's no longer used has taken the name you
       want to reuse, you might want to use git annex renameremote.


       --whatelse / -w

              Describe additional configuration parameters that you could specify.

              For example, if you know you want a S3 remote, but forget how to configure it:

               git annex initremote mys3 type=S3 --whatelse

       --fast When initializing a remote that uses encryption, a cryptographic  key  is  created.
              This  requires  sufficient entropy. If initremote seems to hang or take a long time
              while generating the key, you may want to Ctrl-c it and re-run with  --fast,  which
              causes it to use a lower-quality source of randomness. (Ie, /dev/urandom instead of

              Use this when the new special remote uses the same underlying storage as some other
              remote.  This  will  result  in  the new special remote having the same uuid as the
              specified remote, and either can be used to access the same content.

              The remote can be the name of a git remote, or the description or uuid of any  git-
              annex repository.

              When  using  this  option,  the  new remote inherits the encryption settings of the
              existing remote, so you should not specify  any  encryption  parameters.  No  other
              configuration is inherited from the existing remote.

              This  will only work if both remotes use the underlying storage in compatible ways.
              See  this  page  for  information  about   known   compatabilities.    <http://git-



              Almost  all  special  remotes  support  encryption.  You  will need to specify what
              encryption, if any, to use.

              If you do not want any encryption, use encryption=none

              To encrypt to a GPG key, use encryption=hybrid keyid=$keyid ...  and  fill  in  the
              GPG key id (or an email address associated with a GPG key).

              For   details   about   this  and  other  encrpytion  settings,  see  <https://git-
    > or --whatelse

              To avoid git annex enableremote needing to be run, you can pass  "autoenable=true".
              Then  when  git-annex  is run in a new clone, it will attempt to enable the special
              remote. Of course, this works best when the special remote does not  need  anything
              special to be done to get it enabled.

       uuid   Normally,  git-annex initremote generates a new UUID for the new special remote. If
              you want to, you can specify a UUID for it  to  use,  by  passing  a  uuid=whatever
              parameter.  This  can be useful in some unusual situations.  But if in doubt, don't
              do this.






       Joey Hess <>