Reference

git-annex-sync(1)

synchronize local repository with remotes

NAME

git-annex-sync - synchronize local repository with remotes

SYNOPSIS

git annex sync [remote ...]

DESCRIPTION

This command synchronizes the local repository with its remotes.

This command first commits any local changes to files that have previously been added to the repository. Then it does the equivilant of git-annex-pull(1) followed by git-annex-push(1).

Unlike push and pull, this command defaults to avoiding transferring the content of annexed files to repositories that do not have preferred content configured. This is a special case, to avoid a surprising behavior change. Using any option or configuration that enables content syncing, including --content, --content-of, and setting annex.synccontent will avoid this special case.

OPTIONS

--no-content, -g, --content

Use --no-content or -g to avoid transferring the content of annexed files.

If you often use --no-content, you can set the annex.synccontent configuration to false to prevent transferring content by default. The --content option overrides that configuration.

--content-of=path -C path

Only pull and push the content of annexed files in the given path.

This option can be repeated multiple times with different paths.

Note that this option does not prevent exporting other files to an "exporttree=yes" remote.

--commit, --no-commit

A commit is done by default (unless annex.autocommit is set to false).

Use --no-commit to avoid committing local changes.

--message=msg -m msg

Use this option to specify a commit message.

If multiple -m options are given, their values are concatenated as separate paragraphs.

--pull, --no-pull

Use this option to disable pulling.

When remote.<name>.annex-sync is set to false, pulling is disabled for that remote, and using --pull will not enable it.

--push, --no-push

Use this option to disable pushing.

When remote.<name>.annex-sync is set to false, pushing is disabled for that remote, and using --push will not enable it.

Also all options supported by git-annex-pull(1) and

git-annex-push(1) can be used.

Also the git-annex-common-options(1) can be used.

SEE ALSO

git-annex(1)

git-annex-pull(1)

git-annex-push(1)

git-annex-assist(1)

git-annex-satisfy(1)

AUTHOR

Joey Hess <[email protected]>

History

-g since Debian 13 (Trixie).

--all until Debian 12 (Bookworm); --allow-unrelated-histories until Debian 12 (Bookworm); --backend until Debian 12 (Bookworm); --cleanup until Debian 12 (Bookworm); --fast until Debian 12 (Bookworm); --message until Debian 12 (Bookworm); --no-allow-unrelated-histories until Debian 12 (Bookworm); --no-resolvemerge until Debian 12 (Bookworm); --resolvemerge until Debian 12 (Bookworm); -A until Debian 12 (Bookworm).