]>
Commit | Line | Data |
---|---|---|
1114b26e JW |
1 | git-mv(1) |
2 | ========= | |
3 | ||
4 | NAME | |
5 | ---- | |
c3f0baac | 6 | git-mv - Move or rename a file, a directory, or a symlink |
1114b26e JW |
7 | |
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
7791a1d9 | 11 | [verse] |
b1889c36 | 12 | 'git mv' <options>... <args>... |
1114b26e JW |
13 | |
14 | DESCRIPTION | |
15 | ----------- | |
a88c915d | 16 | Move 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 | 21 | In the first form, it renames <source>, which must exist and be either |
b933e818 | 22 | a file, symlink or directory, to <destination>. |
1114b26e JW |
23 | In the second form, the last argument has to be an existing |
24 | directory; the given sources will be moved into this directory. | |
25 | ||
26 | The index is updated after successful completion, but the change must still be | |
27 | committed. | |
28 | ||
29 | OPTIONS | |
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 |
47 | SUBMODULES |
48 | ---------- | |
49 | Moving a submodule using a gitfile (which means they were cloned | |
50 | with a Git version 1.7.8 or newer) will update the gitfile and | |
51 | core.worktree setting to make the submodule work in the new location. | |
0656781f JL |
52 | It also will attempt to update the submodule.<name>.path setting in |
53 | the linkgit:gitmodules[5] file and stage that file (unless -n is used). | |
a88c915d | 54 | |
1cbd1830 JL |
55 | BUGS |
56 | ---- | |
57 | Each time a superproject update moves a populated submodule (e.g. when | |
58 | switching between commits before and after the move) a stale submodule | |
59 | checkout will remain in the old location and an empty directory will | |
60 | appear in the new location. To populate the submodule again in the new | |
61 | location the user will have to run "git submodule update" | |
62 | afterwards. Removing the old directory is only safe when it uses a | |
63 | gitfile, as otherwise the history of the submodule will be deleted | |
64 | too. Both steps will be obsolete when recursive submodule update has | |
65 | been implemented. | |
66 | ||
1114b26e JW |
67 | GIT |
68 | --- | |
9e1f0a85 | 69 | Part of the linkgit:git[1] suite |