Autogenerated manpages for v2.42.0-rc0
[git-manpages.git] / man1 / git-mv.1
blob98337dfabe6d93f06ab2ef1f943f5ad27ab9ba0e
1 '\" t
2 .\"     Title: git-mv
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
5 .\"      Date: 2023-08-04
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.42.0.rc0
8 .\"  Language: English
9 .\"
10 .TH "GIT\-MV" "1" "2023\-08\-04" "Git 2\&.42\&.0\&.rc0" "Git Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 git-mv \- Move or rename a file, a directory, or a symlink
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 \fIgit mv\fR [<options>] <source>\&... <destination>
36 .fi
37 .sp
38 .SH "DESCRIPTION"
39 .sp
40 Move or rename a file, directory or symlink\&.
41 .sp
42 .if n \{\
43 .RS 4
44 .\}
45 .nf
46 git mv [\-v] [\-f] [\-n] [\-k] <source> <destination>
47 git mv [\-v] [\-f] [\-n] [\-k] <source> \&.\&.\&. <destination directory>
48 .fi
49 .if n \{\
50 .RE
51 .\}
52 .sp
53 In the first form, it renames <source>, which must exist and be either a file, symlink or directory, to <destination>\&. In the second form, the last argument has to be an existing directory; the given sources will be moved into this directory\&.
54 .sp
55 The index is updated after successful completion, but the change must still be committed\&.
56 .SH "OPTIONS"
57 .PP
58 \-f, \-\-force
59 .RS 4
60 Force renaming or moving of a file even if the <destination> exists\&.
61 .RE
62 .PP
63 \-k
64 .RS 4
65 Skip move or rename actions which would lead to an error condition\&. An error happens when a source is neither existing nor controlled by Git, or when it would overwrite an existing file unless
66 \fB\-f\fR
67 is given\&.
68 .RE
69 .PP
70 \-n, \-\-dry\-run
71 .RS 4
72 Do nothing; only show what would happen
73 .RE
74 .PP
75 \-v, \-\-verbose
76 .RS 4
77 Report the names of files as they are moved\&.
78 .RE
79 .SH "SUBMODULES"
80 .sp
81 Moving a submodule using a gitfile (which means they were cloned with a Git version 1\&.7\&.8 or newer) will update the gitfile and core\&.worktree setting to make the submodule work in the new location\&. It also will attempt to update the submodule\&.<name>\&.path setting in the \fBgitmodules\fR(5) file and stage that file (unless \-n is used)\&.
82 .SH "BUGS"
83 .sp
84 Each time a superproject update moves a populated submodule (e\&.g\&. when switching between commits before and after the move) a stale submodule checkout will remain in the old location and an empty directory will appear in the new location\&. To populate the submodule again in the new location the user will have to run "git submodule update" afterwards\&. Removing the old directory is only safe when it uses a gitfile, as otherwise the history of the submodule will be deleted too\&. Both steps will be obsolete when recursive submodule update has been implemented\&.
85 .SH "GIT"
86 .sp
87 Part of the \fBgit\fR(1) suite