Topics ▾ Version 1.5.4 ▾ git-mv last updated in 2.20.1


git-mv - Move or rename a file, a directory, or a symlink


git-mv <options>…​ <args>…​


This script is used to move or rename a file, directory or symlink.

git-mv [-f] [-n] <source> <destination>
git-mv [-f] [-n] [-k] <source> ... <destination directory>

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.

The index is updated after successful completion, but the change must still be committed.



Force renaming or moving of a file even if the target exists


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 -f is given.

-n, \--dry-run

Do nothing; only show what would happen


Written by Linus Torvalds <> Rewritten by Ryan Anderson <> Move functionality added by Josef Weidendorfer <>


Documentation by David Greaves, Junio C Hamano and the git-list <>.


Part of the git[7] suite