2015-03-23 22:20:42 +00:00
|
|
|
# NAME
|
|
|
|
|
|
|
|
git-annex initremote - creates a special (non-git) remote
|
|
|
|
|
|
|
|
# SYNOPSIS
|
|
|
|
|
|
|
|
git annex initremote `name type=value [param=value ...]`
|
|
|
|
|
|
|
|
# DESCRIPTION
|
|
|
|
|
|
|
|
Creates a new special remote, and adds it to `.git/config`.
|
|
|
|
|
|
|
|
Example Amazon S3 remote:
|
|
|
|
|
|
|
|
git annex initremote mys3 type=S3 encryption=hybrid keyid=me@example.com datacenter=EU
|
|
|
|
|
|
|
|
Many different types of special remotes are supported by git-annex.
|
|
|
|
For a list and details, see <https://git-annex.branchable.com/special_remotes/>
|
|
|
|
|
|
|
|
The remote's configuration is specified by the parameters passed
|
|
|
|
to this command. Different types of special remotes need different
|
2020-01-15 18:09:30 +00:00
|
|
|
configuration values, so consult the documentation of a special remote for
|
2020-01-20 20:05:51 +00:00
|
|
|
details. The command will prompt for any required parameters you leave out;
|
2020-01-20 21:04:45 +00:00
|
|
|
you can also pass --whatelse to see additional parameters.
|
2020-01-20 20:05:51 +00:00
|
|
|
|
2020-01-15 18:09:30 +00:00
|
|
|
A few parameters that are supported by all special remotes are documented in
|
2019-04-16 17:09:12 +00:00
|
|
|
the next section below.
|
2015-03-23 22:20:42 +00:00
|
|
|
|
2019-04-15 17:05:44 +00:00
|
|
|
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`.
|
|
|
|
|
2015-03-23 22:20:42 +00:00
|
|
|
# OPTIONS
|
|
|
|
|
2024-05-24 18:29:36 +00:00
|
|
|
* `--with-url`
|
|
|
|
|
|
|
|
This configures the remote with an "annex::" url, which allows
|
|
|
|
git to push to and pull from it, using [[git-remote-annex]].
|
|
|
|
|
2020-01-20 21:04:45 +00:00
|
|
|
* `--whatelse` / `-w`
|
2020-01-20 20:05:51 +00:00
|
|
|
|
|
|
|
Describe additional configuration parameters that you could specify.
|
|
|
|
|
|
|
|
For example, if you know you want a S3 remote, but forget how to
|
|
|
|
configure it:
|
2020-01-15 18:09:30 +00:00
|
|
|
|
2020-01-20 21:04:45 +00:00
|
|
|
git annex initremote mys3 type=S3 --whatelse
|
2020-01-15 18:09:30 +00:00
|
|
|
|
2023-05-10 18:01:46 +00:00
|
|
|
For a machine-readable list of the parameters, use this with --json.
|
|
|
|
|
2015-03-23 22:20:42 +00:00
|
|
|
* `--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 /dev/random)
|
|
|
|
|
2019-10-01 16:36:25 +00:00
|
|
|
* `--sameas=remote`
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2019-10-11 17:10:07 +00:00
|
|
|
This will only work if both remotes use the underlying storage in
|
|
|
|
compatible ways. See this page for information about known
|
|
|
|
compatabilities.
|
|
|
|
<http://git-annex.branchable.com/tips/multiple_remotes_accessing_the_same_data_store/>
|
|
|
|
|
2021-04-21 21:01:03 +00:00
|
|
|
* `--private`
|
|
|
|
|
|
|
|
Avoid recording information about the special remote in the git-annex
|
|
|
|
branch. The special remote will only be usable from the repository where
|
|
|
|
it was created.
|
|
|
|
|
2023-05-10 18:01:46 +00:00
|
|
|
* `--json`
|
|
|
|
|
|
|
|
Enable JSON output. This is intended to be parsed by programs that use
|
|
|
|
git-annex.
|
|
|
|
|
|
|
|
* `--json-error-messages`
|
|
|
|
|
|
|
|
Messages that would normally be output to standard error are included in
|
|
|
|
the JSON instead.
|
|
|
|
|
2021-05-10 19:00:13 +00:00
|
|
|
* Also the [[git-annex-common-options]](1) can be used.
|
|
|
|
|
2019-04-16 17:09:12 +00:00
|
|
|
# COMMON CONFIGURATION PARAMETERS
|
|
|
|
|
|
|
|
* `encryption`
|
|
|
|
|
2020-01-15 18:09:30 +00:00
|
|
|
Almost all special remotes support encryption. You will need to specify
|
2019-04-16 17:09:12 +00:00
|
|
|
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-annex.branchable.com/encryption/>
|
2020-01-20 21:04:45 +00:00
|
|
|
or --whatelse
|
2019-04-16 17:09:12 +00:00
|
|
|
|
|
|
|
* `autoenable`
|
|
|
|
|
|
|
|
To avoid `git annex enableremote` needing to be run,
|
2020-05-27 15:54:39 +00:00
|
|
|
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.
|
2019-04-16 17:09:12 +00:00
|
|
|
|
2023-01-12 17:42:28 +00:00
|
|
|
* `cost`
|
|
|
|
|
|
|
|
Specify this to override the default cost of the special remote.
|
|
|
|
This configuration can be overridden by the local git config,
|
|
|
|
eg remote.name.annex-cost.
|
|
|
|
|
2019-04-16 17:09:12 +00:00
|
|
|
* `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.
|
|
|
|
|
2015-03-23 22:20:42 +00:00
|
|
|
# SEE ALSO
|
|
|
|
|
|
|
|
[[git-annex]](1)
|
|
|
|
|
2015-05-29 16:12:55 +00:00
|
|
|
[[git-annex-enableremote]](1)
|
|
|
|
|
2023-04-18 19:30:49 +00:00
|
|
|
[[git-annex-configremote]](1)
|
|
|
|
|
2019-04-15 17:05:44 +00:00
|
|
|
[[git-annex-renameremote]](1)
|
|
|
|
|
2015-03-23 22:20:42 +00:00
|
|
|
# AUTHOR
|
|
|
|
|
|
|
|
Joey Hess <id@joeyh.name>
|
|
|
|
|
|
|
|
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
|