简体中文 ▾
主题 ▾
最新版本 ▾ git-mv 最后更新于 2.50.0
git-mv 手册的更改
设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.50.1 → 2.52.0 无更改
-
2.50.0
2025-06-16
- 2.44.1 → 2.49.1 无更改
-
2.44.0
2024-02-23
- 2.43.1 → 2.43.7 无更改
-
2.43.0
2023-11-20
- 2.39.1 → 2.42.4 无更改
-
2.39.0
2022-12-12
- 2.10.5 → 2.38.5 无更改
-
2.9.5
2017-07-30
- 2.1.4 → 2.8.6 无变更
-
2.0.5
2014-12-17
概要
gitmv[-v] [-f] [-n] [-k] <source> <destination>gitmv[-v] [-f] [-n] [-k] <source>... <destination-directory>
描述
移动或重命名文件、目录或符号链接。
第一种形式,它将重命名<source>,该源必须存在,并且是文件、符号链接或目录,将其重命名为<destination>。第二种形式,<destination-directory> 必须是一个存在的目录;给定的源将被移动到此目录中。
成功完成后,索引会被更新,但更改仍需提交。
子模块
使用 gitfile 移动子模块(这意味着它们是使用 Git 版本 1.7.8 或更高版本克隆的)将更新 gitfile 和 core.worktree 设置,以使子模块在新位置正常工作。它还会尝试更新 gitmodules[5] 文件中的 submodule.<name>.path 设置,并暂存该文件(除非使用了 -n)。
BUG
每次父项目更新移动一个已填充的子模块时(例如,在移动发生之前和之后的提交之间切换时),旧位置会留下一个过时的子模块签出,新位置会出现一个空目录。要再次在新位置填充子模块,用户必须稍后运行“git submodule update”。仅当旧目录使用 gitfile 时,删除旧目录才是安全的,否则子模块的历史记录也会被删除。当递归子模块更新实现后,这两个步骤都将成为多余的。