English ▾ 主题 ▾ 最新版本 ▾ git-mv 上次更新于 2.44.0

名称

git-mv - 移动或重命名文件、目录或符号链接

概要

git mv [<options>] <source>…​ <destination>

描述

移动或重命名文件、目录或符号链接。

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

在第一种形式中,它将 <source> 重命名为 <destination>,<source> 必须存在,并且是文件、符号链接或目录。在第二种形式中,最后一个参数必须是现有目录;给定的源将被移动到此目录中。

成功完成后,索引会更新,但更改仍必须提交。

选项

-f
--force

强制重命名或移动文件,即使 <destination> 存在。

-k

跳过会导致错误情况的移动或重命名操作。当源既不存在也不受 Git 控制时,或者当它将覆盖现有文件(除非给出 -f)时,会发生错误。

-n
--dry-run

什么都不做;只显示会发生什么

-v
--verbose

报告移动的文件的名称。

子模块

使用 gitfile 移动子模块(这意味着它们是使用 Git 版本 1.7.8 或更高版本克隆的)将更新 gitfile 和 core.worktree 设置,以使子模块在新位置工作。 它还会尝试更新 gitmodules[5] 文件中的 submodule.<name>.path 设置并暂存该文件(除非使用了 -n)。

BUG

每次超级项目更新移动已填充的子模块(例如,在移动前后在提交之间切换时),过时的子模块检出将保留在旧位置,并且空目录将出现在新位置。 要在新位置再次填充子模块,用户必须随后运行 "git submodule update"。 仅当旧目录使用 gitfile 时,删除旧目录才是安全的,否则子模块的历史记录也将被删除。 当实现递归子模块更新时,这两个步骤都将过时。

GIT

属于 git[1] 套件的一部分

scroll-to-top