git-annex-initremote(1) 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 [email protected] 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. The command will prompt for parameters as needed.

All special remotes support encryption. You can either specify encryption=none to disable encryption, or specify encryption=hybrid keyid=$keyid ... to specify a GPG key id (or an email address associated with a key).

There are actually three schemes that can be used for management of the encryption keys. When using the encryption=hybrid scheme, additional GPG keys can be given access to the encrypted special remote easily (without re-encrypting everything). When using encryption=shared, a shared key is generated and stored in the git repository, allowing anyone who can clone the git repository to access it. Finally, when using encryption=pubkey, content in the special remote is directly encrypted to the specified GPG keys, and additional ones cannot easily be given access.

If you anticipate using the new special remote in other clones of the repository, you can pass "autoenable=true". Then when git-annex-init(1) 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.


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 /dev/random)


Joey Hess <[email protected]>