add section on syncing to the walkthrough

This commit is contained in:
Joey Hess 2011-12-31 14:50:40 -04:00
parent dd41be54f9
commit f165e4aa99
3 changed files with 26 additions and 10 deletions

View file

@ -8,6 +8,7 @@ A walkthrough of the basic features of git-annex.
adding_files adding_files
renaming_files renaming_files
getting_file_content getting_file_content
syncing
transferring_files:_When_things_go_wrong transferring_files:_When_things_go_wrong
removing_files removing_files
removing_files:_When_things_go_wrong removing_files:_When_things_go_wrong

View file

@ -10,13 +10,3 @@ USB drive.
# git annex get . # git annex get .
get my_cool_big_file (from laptop...) ok get my_cool_big_file (from laptop...) ok
get iso/debian.iso (from laptop...) ok get iso/debian.iso (from laptop...) ok
Notice that 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.
The alternate approach is to set up a
[[central bare repository|tips/centralized_git_repository_tutorial]], and
always push changes to it after committing them, then in the above,
you can just pull from the central repository to get synced up to
all repositories.

View file

@ -0,0 +1,25 @@
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.