Notice that in the previous example, you had to git fetch and merge from laptop first. This lets git-annex know what has changed in laptop, and so it knows about the files present there and can get them.

If you have a lot of repositories to keep in sync, manually fetching and merging from them can become tedious. To automate it there is a handy sync command, which also even commits your changes for you.

# cd /media/usb/annex
# git annex sync
commit
nothing to commit (working directory clean)
ok
pull laptop
ok
push laptop
ok

After you run sync, the repository will be updated with all changes made to its remotes, and any changes in the repository will be pushed out to its remotes, where a sync will get them. This is especially useful when using git in a distributed fashion, without a central bare repository. See sync for details.

Comments on this page are closed.