git-mv
移动或重命名文件、目录或符号链接。
概要
bash
git mv [-v] [-f] [-n] [-k] <source> <destination>
git mv [-v] [-f] [-n] [-k] <source>... <destination-directory>描述
移动或重命名文件、目录或符号链接。
在第一种形式中,将 <source>(必须存在且为文件、符号链接或目录)重命名为 <destination>。 在第二种形式中,<destination-directory> 必须是现有目录;给定的源将被移入此目录。
索引在成功完成后更新,但更改仍需提交。
选项
-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)。
错误
每次超级项目更新移动已填充的子模块时(例如在移动前后的提交之间切换时),旧位置将保留过时的子模块检出,新位置将出现空目录。要在新位置重新填充子模块,用户将需要随后运行 "git submodule update"。仅在使用 gitfile 时删除旧目录才是安全的,否则子模块的历史也将被删除。当递归子模块更新实现后,这两个步骤都将过时。
Git
git(1) 套件的一部分
