Notice that in the [[previous example|getting_file_content]], 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|tips/centralized_git_repository_tutorial]]. See [[sync]] for details.