]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-mv.txt
Merge branch 'js/t3404-typofix' into maint
[thirdparty/git.git] / Documentation / git-mv.txt
CommitLineData
1114b26e
JW
1git-mv(1)
2=========
3
4NAME
5----
c3f0baac 6git-mv - Move or rename a file, a directory, or a symlink
1114b26e
JW
7
8
9SYNOPSIS
10--------
7791a1d9 11[verse]
b1889c36 12'git mv' <options>... <args>...
1114b26e
JW
13
14DESCRIPTION
15-----------
a88c915d 16Move or rename a file, directory or symlink.
63d34b0b 17
07b87389
JK
18 git mv [-v] [-f] [-n] [-k] <source> <destination>
19 git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>
63d34b0b 20
1114b26e 21In the first form, it renames <source>, which must exist and be either
b933e818 22a file, symlink or directory, to <destination>.
1114b26e
JW
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::
f7aec129 32--force::
b933e818 33 Force renaming or moving of a file even if the target exists
1114b26e 34-k::
46e22b70 35 Skip move or rename actions which would lead to an error
1114b26e 36 condition. An error happens when a source is neither existing nor
48a8c26c 37 controlled by Git, or when it would overwrite an existing
23f8239b 38 file unless `-f` is given.
3240240f
SB
39-n::
40--dry-run::
1114b26e
JW
41 Do nothing; only show what would happen
42
07b87389
JK
43-v::
44--verbose::
45 Report the names of files as they are moved.
46
a88c915d
JL
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.
0656781f
JL
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).
a88c915d 54
1cbd1830
JL
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
1114b26e
JW
67GIT
68---
9e1f0a85 69Part of the linkgit:git[1] suite