]>
Commit | Line | Data |
---|---|---|
1 | git-mv(1) | |
2 | ========= | |
3 | ||
4 | NAME | |
5 | ---- | |
6 | git-mv - Move or rename a file, a directory, or a symlink | |
7 | ||
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
11 | [verse] | |
12 | 'git mv' <options>... <args>... | |
13 | ||
14 | DESCRIPTION | |
15 | ----------- | |
16 | Move 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 | ||
21 | In the first form, it renames <source>, which must exist and be either | |
22 | a file, symlink or directory, to <destination>. | |
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:: | |
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 | ||
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. | |
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). | |
54 | ||
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 | ||
67 | GIT | |
68 | --- | |
69 | Part of the linkgit:git[1] suite |