'\" t .\" Title: git-mv .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets v1.79.2 .\" Date: 2025-07-22 .\" Manual: Git Manual .\" Source: Git 2.50.1.428.g0e8243a355 .\" Language: English .\" .TH "GIT\-MV" "1" "2025-07-22" "Git 2\&.50\&.1\&.428\&.g0e8243" "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 \fBgit\fR \fBmv\fR [\fB\-v\fR] [\fB\-f\fR] [\fB\-n\fR] [\fB\-k\fR] \fI\fR \fI\fR \fBgit\fR \fBmv\fR [\fB\-v\fR] [\fB\-f\fR] [\fB\-n\fR] [\fB\-k\fR] \fI\fR\&...\: \fI\fR .fi .SH "DESCRIPTION" .sp Move or rename a file, directory, or symlink\&. .sp In the first form, it renames \fI\fR, which must exist and be either a file, symlink or directory, to \fI\fR\&. In the second form, \fI\fR 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 \fB\-f\fR, \fB\-\-force\fR .RS 4 Force renaming or moving of a file even if the exists\&. .RE .PP \fB\-k\fR .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 \fB\-n\fR, \fB\-\-dry\-run\fR .RS 4 Do nothing; only show what would happen .RE .PP \fB\-v\fR, \fB\-\-verbose\fR .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 \fBsubmodule\&.\fR\fI\fR\fB\&.path\fR setting in the \fBgitmodules\fR(5) file and stage that file (unless \fB\-n\fR 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