git-annex/doc/special_remotes/git.mdwn
git-annex@6e52e5c5d048aa6b470b95d81fbaf44769d11fbd 21e70142a7
2020-11-21 04:21:26 +00:00

30 lines
1.2 KiB
Markdown

Normally a git repository is not treated as a special remote, but as a git
remote of the normal kind. Two exceptions to that are [[git-lfs]] and
[[gcrypt]] special remotes.
But it is possible to register a git repository as a special remote.
git-annex and git will use the remote the same as any normal git remote,
but its url will be recorded in the repository. One benefit of doing this
is it allows [[git-annex init|git-annex-init]] to autoenable the remote.
First you need a regular git remote with the url that you want to use for
the special remote.
git remote add tmpremote ssh://...
Then, to set up the special remote:
git annex initremote myremote type=git location=ssh://... autoenable=true
The location must be the same url as the existing git remote.
Now `git annex init` in each clone of the repository will autoenable myremote.
Note that the name of the git remote (`tmpremote` above) has to be
different than the name you later use for the special remote,
since [[git-annex initremote|git-annex-initremote]] will refuse to use the name of an existing
remote. To work around that, you could finish by removing `tmpremote` and
enable the special remote:
git remote remove tmpremote
git annex enableremote myremote