2005-10-24 00:15:34 +08:00
|
|
|
git-mv(1)
|
|
|
|
=========
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2007-01-19 07:53:37 +08:00
|
|
|
git-mv - Move or rename a file, a directory, or a symlink
|
2005-10-24 00:15:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2011-07-02 10:38:26 +08:00
|
|
|
[verse]
|
2008-06-30 14:09:04 +08:00
|
|
|
'git mv' <options>... <args>...
|
2005-10-24 00:15:34 +08:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2013-07-31 03:50:03 +08:00
|
|
|
Move or rename a file, directory or symlink.
|
2005-12-05 16:15:44 +08:00
|
|
|
|
2011-12-12 15:51:24 +08:00
|
|
|
git mv [-v] [-f] [-n] [-k] <source> <destination>
|
|
|
|
git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>
|
2005-12-05 16:15:44 +08:00
|
|
|
|
2005-10-24 00:15:34 +08:00
|
|
|
In the first form, it renames <source>, which must exist and be either
|
2005-11-28 05:08:33 +08:00
|
|
|
a file, symlink or directory, to <destination>.
|
2005-10-24 00:15:34 +08:00
|
|
|
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.
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
-f::
|
2009-08-29 17:05:00 +08:00
|
|
|
--force::
|
2005-11-28 05:08:33 +08:00
|
|
|
Force renaming or moving of a file even if the target exists
|
2005-10-24 00:15:34 +08:00
|
|
|
-k::
|
|
|
|
Skip move or rename actions which would lead to an error
|
|
|
|
condition. An error happens when a source is neither existing nor
|
2013-01-22 03:16:20 +08:00
|
|
|
controlled by Git, or when it would overwrite an existing
|
2005-10-24 00:15:34 +08:00
|
|
|
file unless '-f' is given.
|
2008-06-08 09:36:09 +08:00
|
|
|
-n::
|
|
|
|
--dry-run::
|
2005-10-24 00:15:34 +08:00
|
|
|
Do nothing; only show what would happen
|
|
|
|
|
2011-12-12 15:51:24 +08:00
|
|
|
-v::
|
|
|
|
--verbose::
|
|
|
|
Report the names of files as they are moved.
|
|
|
|
|
2013-07-31 03:50:03 +08:00
|
|
|
SUBMODULES
|
|
|
|
----------
|
|
|
|
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.
|
2013-08-07 03:15:11 +08:00
|
|
|
It also will attempt to update the submodule.<name>.path setting in
|
|
|
|
the linkgit:gitmodules[5] file and stage that file (unless -n is used).
|
2013-07-31 03:50:03 +08:00
|
|
|
|
2014-01-08 05:31:32 +08:00
|
|
|
BUGS
|
|
|
|
----
|
|
|
|
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.
|
|
|
|
|
2005-10-24 00:15:34 +08:00
|
|
|
GIT
|
|
|
|
---
|
2008-06-06 15:07:32 +08:00
|
|
|
Part of the linkgit:git[1] suite
|