2012-04-11 18:22:59 +00:00
|
|
|
git-annex can transfer data to and from configured git remotes.
|
2011-08-17 01:12:48 +00:00
|
|
|
Normally those remotes are normal git repositories (bare and non-bare;
|
2012-04-11 18:22:59 +00:00
|
|
|
local and remote), that store the file contents in their own git-annex
|
2011-08-17 01:12:48 +00:00
|
|
|
directory.
|
2011-03-28 02:52:13 +00:00
|
|
|
|
|
|
|
But, git-annex also extends git's concept of remotes, with these special
|
|
|
|
types of remotes. These can be used just like any normal remote by git-annex.
|
|
|
|
They cannot be used by other git commands though.
|
|
|
|
|
2011-05-16 06:07:59 +00:00
|
|
|
* [[S3]] (Amazon S3, and other compatible services)
|
2012-11-20 21:13:35 +00:00
|
|
|
* [[Amazon_Glacier|glacier]]
|
2011-04-08 18:56:57 +00:00
|
|
|
* [[bup]]
|
2013-09-07 23:08:34 +00:00
|
|
|
* [[gcrypt]] (encrypted git repositories!)
|
2011-03-30 17:18:46 +00:00
|
|
|
* [[directory]]
|
2011-04-28 00:06:07 +00:00
|
|
|
* [[rsync]]
|
2012-11-20 21:13:35 +00:00
|
|
|
* [[webdav]]
|
2014-01-08 20:14:37 +00:00
|
|
|
* [[tahoe]]
|
2011-07-01 20:01:26 +00:00
|
|
|
* [[web]]
|
2013-03-24 13:09:41 +00:00
|
|
|
* [[xmpp]]
|
2011-04-28 19:26:21 +00:00
|
|
|
* [[hook]]
|
2012-03-04 00:06:27 +00:00
|
|
|
|
2013-12-26 22:18:13 +00:00
|
|
|
The above special remotes are built into git-annex, and can be used
|
|
|
|
to tie git-annex into many cloud services.
|
2013-08-22 20:21:47 +00:00
|
|
|
|
|
|
|
Here are specific instructions
|
2013-09-28 20:19:57 +00:00
|
|
|
for using git-annex with various services:
|
2012-03-04 00:06:27 +00:00
|
|
|
|
2013-05-23 23:28:45 +00:00
|
|
|
* [[Amazon_S3|tips/using_Amazon_S3]]
|
|
|
|
* [[Amazon_Glacier|tips/using_Amazon_Glacier]]
|
2012-03-04 00:06:27 +00:00
|
|
|
* [[tips/Internet_Archive_via_S3]]
|
2013-05-23 23:28:45 +00:00
|
|
|
* [[Box.com|tips/using_box.com_as_a_special_remote]]
|
2013-05-23 23:29:48 +00:00
|
|
|
* [[Google drive|tips/googledriveannex]]
|
2013-05-31 17:56:12 +00:00
|
|
|
* [[Google Cloud Storage|tips/using_Google_Cloud_Storage]]
|
2013-05-23 23:28:45 +00:00
|
|
|
* [[Mega.co.nz|tips/megaannex]]
|
2013-06-12 17:33:50 +00:00
|
|
|
* [[SkyDrive|tips/skydriveannex]]
|
2013-06-11 14:50:53 +00:00
|
|
|
* [[OwnCloud|tips/owncloudannex]]
|
2013-05-23 23:28:45 +00:00
|
|
|
* [[Flickr|tips/flickrannex]]
|
|
|
|
* [[IMAP|forum/special_remote_for_IMAP]]
|
|
|
|
* [[Usenet|forum/nntp__47__usenet special remote]]
|
2013-09-28 20:19:57 +00:00
|
|
|
* [chef-vault](https://github.com/3ofcoins/knife-annex/)
|
2014-02-11 13:35:30 +00:00
|
|
|
* [hubiC](https://github.com/Schnouki/git-annex-remote-hubic)
|
2011-04-03 00:59:41 +00:00
|
|
|
|
2013-12-26 22:18:13 +00:00
|
|
|
Want to add support for something else? [[Write your own!|external]]
|
|
|
|
|
|
|
|
## Ways to use special remotes
|
|
|
|
|
|
|
|
There are many use cases for a special remote. You could use it as a
|
|
|
|
backup. You could use it to archive files offline in a drive with
|
|
|
|
encryption enabled so if the drive is stolen your data is not. You could
|
|
|
|
git annex move --to specialremote large files when your local drive is
|
|
|
|
getting full, and then git annex move the files back when free space is
|
|
|
|
again available. You could have one repository copy files to a special
|
|
|
|
remote, and then git annex get them on another repository, to transfer the
|
|
|
|
files between computers that do not communicate directly.
|
|
|
|
|
|
|
|
The git-annex assistant makes it easy to set up rsync remotes using this
|
|
|
|
last scenario, which is referred to as a transfer repository, and arranges
|
|
|
|
to drop files from the transfer repository once they have been transferred
|
|
|
|
to all known clients.
|
|
|
|
|
|
|
|
None of these use cases are particular to particular special remote types.
|
|
|
|
Most special remotes can all be used in these and other ways. It largely
|
|
|
|
doesn't matter for your use what underlying transport the special remote
|
|
|
|
uses.
|
|
|
|
|
2011-04-03 00:59:41 +00:00
|
|
|
## Unused content on special remotes
|
|
|
|
|
|
|
|
Over time, special remotes can accumulate file content that is no longer
|
|
|
|
referred to by files in git. Normally, unused content in the current
|
|
|
|
repository is found by running `git annex unused`. To detect unused content
|
|
|
|
on special remotes, instead use `git annex unused --from`. Example:
|
|
|
|
|
|
|
|
$ git annex unused --from mys3
|
2011-05-29 02:20:22 +00:00
|
|
|
unused mys3 (checking for unused data...)
|
2011-04-03 00:59:41 +00:00
|
|
|
Some annexed data on mys3 is not used by any files in this repository.
|
|
|
|
NUMBER KEY
|
|
|
|
1 WORM-s3-m1301674316--foo
|
|
|
|
(To see where data was previously used, try: git log --stat -S'KEY')
|
|
|
|
(To remove unwanted data: git-annex dropunused --from mys3 NUMBER)
|
|
|
|
$ git annex dropunused --from mys3 1
|
|
|
|
dropunused 12948 (from mys3...) ok
|