简体中文 ▾ 主题 ▾ 最新版本 ▾ git-mv 最后更新于 2.50.0

名称

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

概要

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

描述

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

在第一种形式中,它将 <源>(必须存在且为文件、符号链接或目录)重命名为 <目标>。在第二种形式中,<目标目录> 必须是一个现有的目录;给定的源文件将被移动到该目录中。

操作成功完成后,索引会被更新,但更改仍需提交。

选项

-f
--force

即使 <目标> 已存在,也强制重命名或移动文件。

-k

跳过会导致错误条件的移动或重命名操作。当源文件不存在或未被 Git 管理,或者在未指定 -f 的情况下会覆盖现有文件时,就会发生错误。

-n
--dry-run

不执行任何操作;仅显示将会发生什么。

-v
--verbose

报告移动的文件名称。

子模块

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

BUG

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

GIT

Git[1] 套件的一部分