git-mv.1 (3491B)
- '\" t
- .\" Title: git-mv
- .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
- .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
- .\" Date: 2025-03-14
- .\" Manual: Git Manual
- .\" Source: Git 2.49.0
- .\" Language: English
- .\"
- .TH "GIT\-MV" "1" "2025-03-14" "Git 2\&.49\&.0" "Git Manual"
- .\" -----------------------------------------------------------------
- .\" * Define some portability stuff
- .\" -----------------------------------------------------------------
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .\" http://bugs.debian.org/507673
- .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .ie \n(.g .ds Aq \(aq
- .el .ds Aq '
- .\" -----------------------------------------------------------------
- .\" * set default formatting
- .\" -----------------------------------------------------------------
- .\" disable hyphenation
- .nh
- .\" disable justification (adjust text to left margin only)
- .ad l
- .\" -----------------------------------------------------------------
- .\" * MAIN CONTENT STARTS HERE *
- .\" -----------------------------------------------------------------
- .SH "NAME"
- git-mv \- Move or rename a file, a directory, or a symlink
- .SH "SYNOPSIS"
- .sp
- .nf
- \fIgit mv\fR [<options>] <source>\&...\: <destination>
- .fi
- .SH "DESCRIPTION"
- .sp
- Move or rename a file, directory, or symlink\&.
- .sp
- .if n \{\
- .RS 4
- .\}
- .nf
- git mv [\-v] [\-f] [\-n] [\-k] <source> <destination>
- git mv [\-v] [\-f] [\-n] [\-k] <source> \&.\&.\&. <destination\-directory>
- .fi
- .if n \{\
- .RE
- .\}
- .sp
- 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\&.
- .sp
- The index is updated after successful completion, but the change must still be committed\&.
- .SH "OPTIONS"
- .PP
- \-f, \-\-force
- .RS 4
- Force renaming or moving of a file even if the <destination> exists\&.
- .RE
- .PP
- \-k
- .RS 4
- 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
- \fB\-f\fR
- is given\&.
- .RE
- .PP
- \-n, \-\-dry\-run
- .RS 4
- Do nothing; only show what would happen
- .RE
- .PP
- \-v, \-\-verbose
- .RS 4
- Report the names of files as they are moved\&.
- .RE
- .SH "SUBMODULES"
- .sp
- 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)\&.
- .SH "BUGS"
- .sp
- 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\&.
- .SH "GIT"
- .sp
- Part of the \fBgit\fR(1) suite