Documentation / git-mv.txton commit Merge branch 'ab/perf-remove-index-lock' (06959fe)
   1git-mv(1)
   2=========
   3
   4NAME
   5----
   6git-mv - Move or rename a file, a directory, or a symlink
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git mv' <options>... <args>...
  13
  14DESCRIPTION
  15-----------
  16Move or rename a file, directory or symlink.
  17
  18 git mv [-v] [-f] [-n] [-k] <source> <destination>
  19 git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>
  20
  21In the first form, it renames <source>, which must exist and be either
  22a file, symlink or directory, to <destination>.
  23In the second form, the last argument has to be an existing
  24directory; the given sources will be moved into this directory.
  25
  26The index is updated after successful completion, but the change must still be
  27committed.
  28
  29OPTIONS
  30-------
  31-f::
  32--force::
  33        Force renaming or moving of a file even if the target exists
  34-k::
  35        Skip move or rename actions which would lead to an error
  36        condition. An error happens when a source is neither existing nor
  37        controlled by Git, or when it would overwrite an existing
  38        file unless `-f` is given.
  39-n::
  40--dry-run::
  41        Do nothing; only show what would happen
  42
  43-v::
  44--verbose::
  45        Report the names of files as they are moved.
  46
  47SUBMODULES
  48----------
  49Moving a submodule using a gitfile (which means they were cloned
  50with a Git version 1.7.8 or newer) will update the gitfile and
  51core.worktree setting to make the submodule work in the new location.
  52It also will attempt to update the submodule.<name>.path setting in
  53the linkgit:gitmodules[5] file and stage that file (unless -n is used).
  54
  55BUGS
  56----
  57Each time a superproject update moves a populated submodule (e.g. when
  58switching between commits before and after the move) a stale submodule
  59checkout will remain in the old location and an empty directory will
  60appear in the new location. To populate the submodule again in the new
  61location the user will have to run "git submodule update"
  62afterwards. Removing the old directory is only safe when it uses a
  63gitfile, as otherwise the history of the submodule will be deleted
  64too. Both steps will be obsolete when recursive submodule update has
  65been implemented.
  66
  67GIT
  68---
  69Part of the linkgit:git[1] suite