# NAME

git-annex move - move content of files to/from another repository

# SYNOPSIS

git annex move `[path ...] [--from=remote|--to=remote|--to=here]`

# DESCRIPTION

Moves the content of files from or to another remote.

# OPTIONS

* `--from=remote`

  Move the content of files from the specified remote to the local repository.

* `--to=remote`

  Move the content of files from the local repository to the specified remote.

* `--to=here`

  Move the content of files from all reachable remotes to the local
  repository.

* `--force`

  Override numcopies and required content checking, and always remove
  files from the source repository once the destination repository has a
  copy.

  Note that, even without this option, you can move the content of a file
  from one repository to another when numcopies is not satisfied, as long
  as the move does not result in there being fewer copies.

* `--jobs=N` `-JN`

  Enables parallel transfers with up to the specified number of jobs
  running at once. For example: `-J10`

  Setting this to "cpus" will run one job per CPU core.

* `--all` `-A`

  Rather than specifying a filename or path to move, this option can be
  used to move all available versions of all files.

  This is the default behavior when running git-annex in a bare repository.

* `--branch=ref`

  Operate on files in the specified branch or treeish.

* `--unused`

  Operate on files found by last run of git-annex unused.

* `--failed`

  Operate on files that have recently failed to be transferred.

* `--key=keyname`

  Use this option to move a specified key.

* `--fast`

  When moving content to a remote, avoid a round trip to check if the remote
  already has content. This can be faster, but might skip moving content
  to the remote in some cases.

* file matching options

  The [[git-annex-matching-options]](1)
  can be used to specify files to move.

* `--batch`

  Enables batch mode, in which lines containing names of files to move
  are read from stdin.

  As each specified file is processed, the usual progress output is
  displayed. If a file's content does not need to be moved,
  or it does not match specified matching options, or it
  is not an annexed file, a blank line is output in response instead.

  Since the usual output while moving a file is verbose and not
  machine-parseable, you may want to use --json in combination with
  --batch.

* `-z`

  Makes the `--batch` input be delimited by nulls instead of the usual
  newlines.

* `--json`

  Enable JSON output. This is intended to be parsed by programs that use
  git-annex. Each line of output is a JSON object.

* `--json-progress`

  Include progress objects in JSON output.

* `--json-error-messages`

  Messages that would normally be output to standard error are included in
  the json instead.

# SEE ALSO

[[git-annex]](1)

[[git-annex-get]](1)

[[git-annex-copy]](1)

[[git-annex-drop]](1)

# AUTHOR

Joey Hess <id@joeyh.name>

Warning: Automatically converted into a man page by mdwn2man. Edit with care.